intel sdk for opencl что это за программа

Купил ноутбук, очищаю от ненужных приложений. Что это:
Intel SDK for OpenCL

Какую функцию выполняет?

Altera opencl SDK
подскажите где можно найти лекарство к этой приблуде? ставится в составе Quartus 14, так что.

Можно ли удалить системные устройства «Intel(R) Xeon(R) processor E3-1200 v5/6th»
Добрый вечер. У меня процессор интел 8-го поколения, в устройствах заметил «Intel(R) Xeon(R).

Собрать intel vmf sdk для windows 7, компилятор minGW
Здравствуйте! Я понимаю, что инструментарий довольно новый, но тем не менее очень нужно. Я.

PhoneGap. Как его использовать? В чем его недостатки по сравнению с Android SDK, Windows Phone SDK, iOS SDK?
В вики написано, что PhoneGap 4

Sdk в настойках Android Studio и sdk в Project Structure
То есть получается что путь к sdk которое использует Android Studio прописывается в Settings.

Где можно скачать список всех функций Directx 9 sdk с русским определением
Может кто знает где скачать файл с описаниями всех функций Directx 9.0 SDK и их определением на.

Совместимость Delphi с процессорами типа Intel® Atom™ Z3735F, Intel® Celeron® N2840, Intel® Pentium® N3540
Всем привет, сейчас передо мной стоит вопрос выбора ноутбука, ноутбук нужен для учебы, в целом не.

Evolis SDK & Elyctis SDK C#
Добрый день! Столкнулся с задачей связать работу карточного принтера Evolis Primacy и.

Источник

Intel® FPGA SDK for OpenCL™ Software Technology

Overview

Intel® FPGA SDK for OpenCL™ software technology 1 is a world class development environment that enables software developers to accelerate their applications by targeting heterogeneous platforms with Intel CPUs and FPGAs. This environment combines Intel’s state-of-the-art software development frameworks and compiler technology with the revolutionary, new Intel® Quartus® Prime Software to deliver next generation development environment that abstracts FPGA details while delivering optimized results. Intel® FPGA SDK for OpenCL™ software technology enables you to fully leverage the unique capabilities of FPGAs to deliver acceleration performance with power efficiency and low latency.

Features

What’s New in 20.1

Intel® FPGA SDK for OpenCL­™ software technology v20.1 includes key enhancements that deliver improved performance and productivity.

An Intuitive Design Environment

Meeting Performance Requirements

Getting Started

Frequently Asked Questions

What is OpenCL™ application?

The OpenCL™ standard is the first open, royalty-free, unified programming model for accelerating algorithms on heterogeneous systems. OpenCL™ application allows the use of a C-based programming language for developing code across different platforms, such as CPUs, GPUs, and FPGAs. A key benefit of OpenCL™ application is that it is a portable, open, royalty-free standard, which is a key differentiator versus proprietary programming models. OpenCL™ standard is a programming model for software engineers and a methodology for system architects. It is based on standard ANSI C (C99) with extensions to extract parallelism. OpenCL™ platform also includes an application programming interface (API) for the host to communicate with the hardware accelerator traditionally over PCI Express* or one kernel to communicate with another without host interaction. Intel® FPGA SDK for OpenCL™ software technology provides a vendor extension, an I/O, and a Host Channel API to stream data into a kernel directly from a streaming I/O interface such as 10 GB Ethernet.

What is a Board Support Package (BSP) and where can I find reference BSPs?

In order to create and run applications in the Intel® FPGA SDK for OpenCL™ software technology, you need to either use an Intel or partner provided BSP or create your own BSP (see links in ‘Getting Started’ section). A board support package (BSP) is a collection of libraries and drivers that will form the lowest layer of your application software stack. Your Software Applications must link against or run on top of a given software platform.

To find reference BSPs, see the “Getting Started” section.

Which Intel® FPGA development kits have supported BSPs?

The following development kits have an available BSP:

Where can I find OpenCL™ design examples?

OpenCL™ design examples are part of the Intel® FPGA SDK for OpenCL TM software technology. You can find the design example folder at /examples_aoc.

Источник

OpenCL. Что это такое и зачем он нужен? (если есть CUDA)

Здравствуй, уважаемое хабра-сообщество.

Многие, наверное, слышали или читали на хабре об OpenCL – новом стандарте для разработки приложений для гетерогенных систем. Именно так, это не стандарт для разработки приложений для GPU, как многие считают, OpenCL изначально задумывался как нечто большее: единый стандарт для написания приложений, которые должны исполняться в системе, где установлены различные по архитектуре процессоры, ускорители и платы расширения.

Предпосылки появления OpenCL

Стоит отметить, что подобные программы создавались и раньше, но именно NVidiaа CUDA обеспечила рост популярности GPGPU за счет облегчения процесса создания GPGPU приложений. Первые GPGPU приложения в качестве ядер (kernel в CUDA и OpenCL) использовали шейдеры, а данные запаковывались в текстуры. Таким образом необходимо было быть хорошо знакомым OpenGL или DirectX. Чуть позже появился язык Brook, который немного упрощал жизнь программиста (на основе этого языка создавалась AMD Stream (в ней используется Brook+) ).

CUDA стала набирать обороты, а между тем (а точнее несколько ранее) в кузнице, расположенной глубоко под землей, у подножия горы Фуджи (Fuji), японскими инженерами был выкован процессор всевластия Cell (родился он в сотрудничестве IBM, Sony и Toshiba). В настоящее время Cell используется во всех суперкомпьютерах, поставляемых IBM, на его основе постоены самые производительные в мире суперкомпьютеры (по данным top500). Чуть менее года назад компания Toshiba объявила о выпуске платы расширения SpursEngine для PC для ускорения декодирования видео и прочих ресурсоемких операций, используя вычислительные блоки (SPE), разработанные для Cell. В википедии есть статья, в кратце описывающая SpursEngine и его отличия от Cell.
Примерно в то же время (около года назад) оживилась и S3 Graphics (на самом деле VIA), представив на суд общественности свой новый графический адаптер S3 Graphics Chrome 500. По заявлениям самой компании этот адаптер так же умеет ускорять всяческие вычисления. В комплекте с ним поставляется программный продукт (графический редактор), который использует все прелести такого ускорения. Описание технологии на сайте производителя.

Итак, что мы имеем: машина, на которой проводятся вычисления может содержать процессоры x86, x86-64, Itanium, SpursEngine (Cell), NVidia GPU, AMD GPU, VIA (S3 Graphics) GPU. Для каждого из этих типов процессов существует свой SDK (ну кроме разве что VIA), свой язык программирования и программная модель. То есть если Вы захотите чтобы ваш движок рендеринга или программа расчета нагрузок на крыло боинга 787 работала на простой рабочей станции, суперкомпьютере BlueGene, или компьютере оборудованном двумя ускорителями NVidia Tesla – Вам будет необходимо переписывать достаточно большую часть программы, так как каждая из платформ в силу своей архитектуры имеет набор жестких ограничений.
Так как программисты – народ ленивый, и не хотят писать одно и то же для 5 различных платформ с учетом всех особенностей и учиться использовать разные программные средства и модели, а заказчики – народ жадный и не хотят платить за программу для каждой платформы как за отдельный продукт и оплачивать курсы обучения для программистов, было решено создать некий единый стандарт для программ, исполняющихся в гетерогенной среде. Это означает, что программа, вообще говоря, должна быть способна исполняться на компьютере, в котором установлены одновременно GPU NVidia и AMD, Toshiba SpursEngine итд.

Решение проблемы

Для разработки открытого стандарта решили привлечь людей, у которых уже есть опыт (весьма успешный) в разработке подобного стандарта: Khronos Group, на чьей совести уже OpenGL и OpenML и еще много всего. OpenCL является торговой маркой Apple Inc., как сказано на сайте Khronos Group: «OpenCL is a trademark of Apple Inc., and is used under license by Khronos. The OpenCL logo and guidelines for its usage in association with Conformant products can be found here:
http://developer.apple.com/softwarelicensing/agreements/opencl.html»
. В разработке (и финансировании, конечно же), кроме Apple, участвовали такие воротилы IT как AMD, IBM, Activision Blizzard, Intel, NVidia итд. (полный список тут).
Компания NVidia особо не афишировала свое участие в проекте, и быстрыми темпами наращивала функциональность и производительность CUDA. Тем временем несколько ведущих инженеров NVidia участвовали в создании OpenCL. Вероятно, именно участие NVidia в большой мере определило синтаксическую и идеологическую схожесть OpenCL и CUDA. Впрочем программисты от этого только выиграли – проще будет перейти от CUDA к OpenCL при необходимости.

Первая версия стандарта была опубликована в конце 2008 года и с тех пор уже успела претерпеть несколько ревизий.

Почти сразу после того как стандарт был опубликован, компания NVidia заявила что поддержка OpenCL не составит никакой сложности для нее и в скором времени будет реализована в рамках GPU Computing SDK поверх CUDA Driver API. Ничего подобного от главного конкурента NVidia – AMD слышно не было.
Драйвер для OpenCL был выпущен NVidia и прошел проверку на совместимость со стандартом, но все еще доступен только для ограниченного круга людей – зарегистрированных разработчиков (заявку на регистрацию подать может любой желающий, в моем случае рассмотрение заняло 2 недели, после чего по почте пришло приглашение). Ограничения доступа к SDK и драйверам заставляют задуматься о том, что на данный момент существуют какие-то проблемы или ошибки, которые пока не удается исправить, то есть продукт все еще находится в стадии бета-тестирования.
Реализация OpenCL для NVidia была достаточно легкой задачей, так как основные идеи сходны: и CUDA и OpenCL – некоторые расширения языка С, со сходным синтаксисом, использующие одинаковую программную модель в качестве основной: Data Parallel (SIMD), так же OpenCL поддерживает Task Parallel programming model – модель, когда одновременно могут выполняться различные kernel (work-group содержит один элемент). О схожести двух технологий говорит даже то что NVidia выпустила специальный документ о том как писать для CUDA так, чтобы потом легко перейти на OpenCL.

Как обстоят дела на настоящий момент

Основной проблемой реализации OpenCL от NVidia является низкая производительность по сравнению с CUDA, но с каждым новым релизом драйверов производительность OpenCL под управлением CUDA все ближе подбирается к производительности CUDA приложений. По заявлениям разработчиков такой же путь проделала и производительность самих CUDA приложений – от сравнительно невысокой на ранний версиях драйверов до впечатляющей в настоящее время.

А что же делала в этот момент AMD? Ведь именно AMD (как сторонник открытых стандартов – закрытый PhysX vs. открытый Havoc; дорогой Intel Thread Profiler vs. бесплатный AMD CodeAnalyst) делала большие ставки на новую технологию, учитывая что AMD Stream не удавалось хоть сколь-нибудь соревноваться в популярности с NVidia CUDA – виною тому отставание Stream от CUDA в техническом плане.
Летом 2009 года компания AMD сделала заявление о поддержке и соответствии стандарту OpenCL в новой версии Stream SDK. На деле же оказалось, что поддержка была реализована только для CPU. Да, именно так, это ничему не противоречит – OpenCL стандарт для гетерогенных систем и ничего не мешает Вам запустить kernel на CPU, более того – это очень удобно в случае если в системе нет другого OpenCL устройства. В таком случае программа будет продолжать работать, только медленнее. Или же вы можете задействовать все вычислительные мощности, которые есть в компьютере – как GPU так и CPU, хотя на практике это не имеет особого смысла, так как время исполнения kernel’ов которые исполняются на CPU будет намного больше тех что исполняются на GPU – скорость процессора станет узким местом. Зато для отладки приложений это более чем удобно.
Поддержка OpenCL для графических адаптеров AMD так же не заставила себя долго ждать – по последним сообщениям компании версия для графических чипов сейчас находится на стадии подтверждения соответствия спецификациям стандарта. После чего она станет доступна всем желающим.
Так как OpenCL должен работать поверх некоторой специфической для железа оболочки, а значит для того чтобы можно этот стандарт действительно стал единым для различных гетерогенных систем – надо чтобы соответствующие оболочки (драйверы) были выпущены и для IBM Cell и для Intel Larrabie. Пока от этих гигантов IT ничего не слышно, таким образом OpenCL остается еще одним средством разработки для GPU на ряду с CUDA, Stream и DirectX Compute.

Заключение

Технология OpenCL представляет интерес для различных компания IT сферы – от разработчиков игр до производителей чипов, а это означает что у нее большие шансы стать фактическим стандартом для разработки высокопроизводительных вычислений, отобрав этот титул у главенствующей в этом секторе CUDA.

В будущем я планирую более подробную статью о самом OpenCL, описывающую что из себя представляет эта технология, ее особенности, достоинства и недостатки.
Спасибо за внимание.

Источник

Intel® SDK For OpenCL™ Applications

Offload compute-intensive workloads. Customize heterogeneous compute applications and accelerate performance with kernel-based programming.

The OpenCL™ platform is the open standard for general-purpose parallel programming of heterogeneous systems. It provides a uniform programming environment that’s used to write portable code for client PCs, high-performance computing servers, and embedded systems that leverage a diverse mix of:

The OpenCL Platform Working Group (led by the Khronos Group*) defines this standard.

Built for usability and performance, the 2.1 version of the OpenCL standard is a significant evolution.

All 7th generation and newer Intel® processors with integrated Intel® Graphics Technology support this version.

Who Should Use the OpenCL™ Standard?

This standard greatly improves speed and responsiveness for image and video processing. It can also be applied to applications in numerous market categories, from gaming and entertainment to scientific, medical, and financial software. For visual computing applications, it provides added value by enabling a better use of platform resources for graphics tasks. It is interoperable with Microsoft DirectX*, OpenGL*, and video acceleration APIs. As well, it is extendable, such as with video motion estimation extensions from Intel.

Tools That Support the Standard

Increase Productivity & Efficiency

To learn more about the OpenCL standard, see the Khronos Overview.

Technical Specifications

CPU and GPU target support:

CPU target support:

For a full list of supported configurations, see the release notes.

OpenCL Application Versions

Note Support may vary based on the platform configuration.

Development Tools & Environments

Источник

Как установить и использовать в расчетах OpenCL

OpenCL в клиентском терминале MetaTrader 5

Прошло уже больше года как стало возможным писать программы для OpenCL в MQL5, и теперь при старте терминала MetaTrader 5 в Журнал выводятся сообщения о найденных устройствах с поддержкой OpenCL, как показано на картинке.

Если на вашем компьютере уже есть подходящее устройство с поддержкой OpenCL версии 1.1 и выше, то можете смело пропускать описание и сразу же переходить к разделу Сравнение производительности, чтобы своими глазами увидеть выигрыш в скорости для задач, допускающих распараллеливание.

Однако еще далеко не все пользователи смогли оценить преимущество использования параллельных вычислений в своих советниках, индикаторах или скриптах, так как не знают о новых возможностях или не имеют подходящих знаний.

Все дело в том, что для запуска любой MQL5 программы, использующей OpenCL, необходимо установить соответствующее программное обеспечение. Поэтому многие так и не сумели запустить скрипт расчета фрактала Мандельброта и многие другие программы, представленные на форуме MQL5.community.

Что такое OpenCL

Другими словами OpenCL позволяет задействовать для вычислений одной задачи все ядра центрального процессора или все вычислительные мощности видеокарты, что, в конечном счете, уменьшает время выполнения программы. И поэтому использование OpenCL является очень полезным для задач, связанных с трудоемкими и ресурсозатратными вычислениями.

Например, применительно к MQL5, увеличение быстродействия может быть очень полезно для некоторого скрипта (индикатора или эксперта), который проводит сложный и длительный анализ исторических данных по нескольким символам и таймфреймам (здесь стоит отметить, что MQL5 программа, претендующая на параллельное исполнение, должна быть написана специальным образом при помощи OpenCL API).

Поддержка OpenCL

Поддержка OpenCL в MQL5 начинается с версии стандарта 1.1, который появился в июне 2010 года. Поэтому, для использования параллельных вычислений, необходимо иметь относительно свежее программное и аппаратное обеспечение, соответствующее этому стандарту.

Конечно, по быстродействию распределенных вычислений центральные процессоры значительно уступают своим соперникам из «графического цеха», однако и хорошего многоядерного центрального процессора Вам будет вполне достаточно для получения значительного увеличения быстродействия. Но мы отвлеклись, идем дальше.

Производитель Устройства Операционные системы
Intel Процессоры:

AMD Radeon HD Graphics начиная с серии 6400;
ATI Radeon HD Graphics начиная с серии 5400;
ATI FirePro Graphics серии A300, S, W, V;
ATI Mobility Radeon HD начиная с серии 5400;
ATI FirePro M7820 M5800 (подробнее здесь).

Процессоры семейства K8 и старше:

Opteron, Athlon 64, Athlon 64 FX, Athlon 64 X2, Sempron, Turion 64, Turion 64 X2, Phenom, Phenom II (подробнее здесь).

APU (гибридный процессор, включающий в себя центральный и графический процессоры):

Процессоры серий A, C, E, E2, G, R.

Windows Vista SP2, 7, 8;
openSUSE 11.x;
Ubuntu 11.04;
Red Hat 6.x.
NVidia Видеокарты (использующие архитектуру CUDA):

Tesla, Quadro, GeForce (подробнее здесь).

Windows XP, Vista, 7, 8
Linux и Mac OS
(подробнее здесь)

Проверьте, установлено ли на вашем персональном компьютере хотя бы одно устройство (CPU или GPU) и операционная система, которые поддерживают OpenCL 1.1. Если таковые имеются, то Вы смело можете переходить к следующему параграфу, который описывает процедуру настройки OpenCL в зависимости от производителя аппаратного обеспечения.

Настройка OpenCL

Ставить для центрального процессора специальный комплект средств разработки (SDK) потребуется только в том случае, если на компьютере не установлена подходящая видеокарта.

Важно: Если уже есть установленная видеокарта с поддержкой OpenCL, то ставить софтверную версию для эмуляции OpenCL на центральном процессоре не нужно!

Ну, разве что для проведения экспериментов, так как видеокарты для использования OpenCL имеют безусловное преимущество.

Следующие параграфы описывают процедуру настройки OpenCL в зависимости от производителя. Вы можете перейти сразу на интересующую Вас инструкцию настройки, нажав на соответствующую ссылку:

1. Intel

Для использования OpenCL на процессорах Intel необходимо скачать и установить «Intel SDK for OpenCL Applications«. Для этого перейдем на страницу сайта разработчика, с которой это можно сделать.

Рис. 1.1. Страница загрузки Intel SDK для OpenCL.

Здесь представлена общая информация об OpenCL, а также список доступных пакетов для скачивания. Чтобы скачать представленные пакеты нужно нажать на кнопку «Compare and Download Products» в правом верхнем углу страницы.

Рис. 1.2. Информация о доступных пакетах и требованиях для установки.

После нажатия на кнопку появится окошко, в котором будет представлена информация о том, для каких типов процессоров и операционных систем подходят указанные пакеты. Выбираем и загружаем подходящий пакет, нажав на кнопку «Download» над его изображением.

Рис. 1.3. Ссылки для скачивания SDK.

Рис. 1.4. Начало установки Intel SDK для OpenCL.

На экране появится окно установки «Intel SDK for OpenCL Applications» с поддержкой OpenCL 1.2. Жмем «Next» и следуем инструкции по установке.

Рис. 1.5. Принятие лицензионного соглашения.

Рис. 1.6. Интеграция SDK c Visual Studio.

Если на Вашем ПК установлена «Microsoft Visual Studio» начиная с 2008 года, то будет предложено провести интеграцию для использования OpenCL также внутри нее. Далее остается лишь выбрать для каких пользователей будут доступны установленные компоненты и путь для установки SDK, после чего нажать «Install«.

Рис. 1.7. Процесс установки.

Начнется процесс установки, который займет пару минут, после чего на экране отобразится результат успешного выполнения. Нажимаем «Finish» и заканчиваем установку.

Рис. 1.8. Завершение установки.

2.1. Видеокарты и APU от AMD

Для установки OpenCL на видеокарту от AMD обновим ее драйвер до последней версии. Для этого переходим на страницу загрузки драйверов.

Рис. 2.1.1. Страница загрузки драйвера AMD.

Если вы знаете характеристики Вашей видеокарты, то драйвер можно найти, заполнив форму в левой части страницы. После выбора нужных строк из списков, жмем на «Display Results» для поиска подходящего драйвера.

Рис. 2.1.2. Загрузка AMD Catalyst.

Система подберет несколько драйверов в наборе «Catalyst Software Suite«, в том числе и драйвер для OpenCL. Загружаем «Catalyst» и запускаем полученный файл.

Рис. 2.1.3. Страница загрузки приложения для определения типа видеокарты и версии драйвера.

Рис. 2.1.4. Приложение для определения и загрузки подходящего драйвера.

Рис. 2.1.5. Программа установки AMD Catalyst.

Рис. 2.1.6. Процесс установки.

Процесс установки займет пару минут, после чего появится уведомление об успешном завершении.

Рис. 2.1.7. Завершение установки.

2.2. Процессоры от AMD

Для установки OpenCL на процессор от AMD необходимо скачать и установить «AMD APP SDK» последней версии. Для этого переходим на следующую страницу на официальном сайте разработчика.

Рис. 2.2.1. Страница загрузки AMD APP SDK.

Рис. 2.2.2. Таблица доступных для скачивания SDK.

3. NVidia

Если у Вас имеется видеокарта от NVidia, то для установки OpenCL также необходимо обновить ее драйвер до последней версии. Для этого откроем страницу загрузки драйверов на сайте разработчика.

Рис. 3.1. Страница загрузки драйвера NVidia.

На странице расположено меню, которое позволит найти интересующий драйвер либо вручную, либо в автоматическом режиме. В ручном режиме необходимо ввести тип видеокарты, серию, тип операционной системы и нажать на «Поиск«. После этого система подберет самый свежий драйвер подходящий для Вашей видеокарты, и предложит скачать его.

Рис. 3.2. Загрузка выбранного драйвера.

В автоматическом режиме нужно нажать на «Графические драйверы«, после чего вам будет предложено выполнить сканирование вашей системы при помощи java-приложения «GPU_Reader«.

Рис. 3.3. Запуск приложения для определения типа видеокарты и версии драйвера.

Запускаем приложение, нажав на «Run«. Ждем несколько секунд, после чего на странице появится информация о Вашей видеокарте, текущей версии установленного драйвера и версии самого свежего, рекомендованного для установки драйвера. Жмем на «Download» и попадаем на страницу загрузки, показанную на рисунке 3.2.

Рис. 3.4. Результат автоматического определения типа видеокарты и версии драйвера.

Нажимаем «Загрузить сейчас» и соглашаемся с лицензионным соглашением, нажав на «Принять и скачать«.

Рис. 3.5. Принятие лицензионного соглашения и скачивание драйвера.

Рис. 3.6. Принятие лицензионного соглашения на первом этапе установки.

Рис. 3.7. Выбор режима установки.

Рис. 3.8. Процесс установки.

И всё, драйвер установлен, осталось лишь перезагрузить систему, и Вы сможете использовать OpenCL внутри терминала MetaTrader 5.

Рис. 3.9. Завершение установки.

Сравнение производительности

После выполнения скрипта, в окне графика на несколько секунд появится раскрашенное множество значений функции. Каждому из них сопоставляется один из тонов цвета, выбранного во входных параметрах (красный, зеленый или синий).

Помимо самой картинки в журнал «Эксперты» выводится время расчета функций каждым из способов, что позволяет легко убедиться в преимуществе и целесообразности использования OpenCL в MQL5. Увеличим значение шага и получим результаты работы скрипта:

Расчет значений функции и их раскраска двумя способами.

Суммарное время расчета функций на CPU с OpenCL уменьшилось более чем в 5 раз, а ведь это еще далеко не предел! Хорошо известно, что расчеты на современных видеокартах с поддержкой OpenCL выполняются на порядок быстрее, чем на процессорах. Этот факт хорошо отражают результаты выполнения скрипта на разных устройствах с OpenCL, представленные в следующей таблице:

Устройство с OpenCL Время выполнения без OpenCL в миллисекундах Время выполнения с OpenCL в миллисекундах Выигрыш
AMD Radeon HD 7970 20 361 мс 171 мс 119.07 раз
NVidia GeForce GT 630 24 742 мс 578 мс 42.8 раз
Intel Core i5 430M 27 222 мс 5 428 мс 5.01 раз
AMD Athlon X2 Dual-Core QL-65 45 723 мс 9 516 мс 4.8 раз

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • intel rapid что это за программа и нужна ли она
  • intel rapid storage technology что это за программа
  • Intel rapid storage technology что это за программа и нужна ли она
  • Intel rapid storage technology driver software что это за программа
  • Intel r tpm provisioning service что это за служба windows 10

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии