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