Что такое хост в opencl? - PullRequest
6 голосов
/ 26 июня 2011

Я начал изучать openCL. Я делаю учебник сейчас, но я не могу понять идею о том, хозяин может кто-то объяснить. Спасибо

1 Ответ

6 голосов
/ 26 июня 2011

OpenCL - это система, разработанная для поддержки массовой параллельной обработки, которую могут выполнять современные графические чипы (графические процессоры).В парадигме OpenCL «главная программа» - это внешняя логика управления, которая выполняет настройку для приложения на основе графического процессора.Эта хост-программа обычно запускается на ЦП общего назначения (например, на x86-совместимом главном процессоре в большинстве настольных ПК).Программа OpenCL также содержит одну или несколько функций «ядра», предназначенных для параллельного выполнения на графическом процессоре.

Как только все буферы и ядра настроены, хост-программа будет вызывать что-то вроде

EnqueueNDRangeKernel()

, который начнет выполнение ядра на GPU.

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

Краткое описание номенклатуры OpenCL:

  • Хост - основной ЦПиспользуется для настройки выполнения ядра
  • Device - компонент, который содержит процессоры, которые будут выполнять ядро ​​(GPU)
...