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