OpenCL для Visual Studio. Термины

Telegram

Теперь мы есть в телеграмм!  t-do.ru/interestinglife_ru

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


 

Термины OpenCL

OpenCL (Open Computing Language) – открытый стандарт параллельного программирования для гетерогенных платформ, включающих центральные, графические процессоры и другие дискретные вычислительные устройства.

 

Основные термины

 

Программная модель

 

Ядро (kernel) функция, исполняемая устройством. Имеет в описании спецификацию __kernel.

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

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

Команда (command) операция OpenCL, предназначенная для исполнения (исполнение ядра на устройстве, манипуляция с памятью и т.д.)

 

Объекты

 

Объект (object) – абстрактное представление ресурса, управляемого OpenCL API (объект ядра, памяти и т.д.).

Дескриптор (handle) – непрозрачный тип, ссылающийся на объект, выделяемый OpenCL. Любая операция с объектом выполняется через дескриптор.

Очередь команд (command-queue) – объект, содержащий команды для исполнения на устройстве.

Объект ядра (kernel object) – хранит отдельную функцию ядра программы вместе со значениями аргументов.

Объект события (event object) – хранит состояние команды. Предназначен для синхронизации.

Объект буфера (buffer object) – последовательный набор байт. Доступен из ядра через указатель и из управляющего узла при помощи вызова API.

Объект памяти (memory object) – ссылается на область глобальной памяти.

 

Устройства

 

Рабочий элемент (work-item) – набор параллельно исполняемых ядер на устройстве, вызванных при помощи команды.

Рабочая группа (work-group) – набор взаимодействующих рабочих элементов, исполняющихся на одном устройстве. Исполняют одно и тоже ядро, разделяют локальную память и барьеры рабочей группы.

Обрабатывающий элемент (processing element) – виртуальный скалярный процессор. Рабочий элемент может выполняться на одном или нескольких элементах.

Вычислительный узел (compute unit) – исполняет одну рабочую группу. Устройство может состоять из одного или нескольких вычислительных элементов.

 

Контекст

 

Контекст (context) – среда, в которой выполняются ядра, а также область определения синхронизации и управления памятью. Включает:

- набор устройств;

- память, доступную устройству;

- свойства памяти;

- одну или несколько очередей команд.

Объект программы (program object) – включает:

- ссылку на связанный контекст;

- исходный текст или двоичное представление;

- последний удачно собранный код, список устройств, для которых он собран, настройки и журнал сборки;

- набор текущих связанных ядер.


Читайте также:

OpenCL для Visual Studio

Код Грея

Kotlin или Java Android

Лучший язык программирования для Backend разработки в 2019 году

Как конвертировать ui в py