opencl中的主机是什么?

时间:2011-06-26 16:42:39

标签: opencl host

我现在开始学习openCL。我现在正在做教程,但我无法真正理解主持人是否有人可以解释的想法。谢谢你

1 个答案:

答案 0 :(得分:6)

OpenCL是一个旨在支持大规模并行处理的系统,例如可以由现代图形芯片(GPU)执行。在OpenCL范例中,“主机程序”是执行基于GPU的应用程序配置的外部控制逻辑。该主程序通常可以在通用CPU上运行(例如大多数台式PC中与x86兼容的主处理器)。 OpenCL程序还包含一个或多个“内核”函数,这些函数专为在GPU上并行执行而设计。

一旦配置了所有缓冲区和内核,主机程序就会调用类似

的内容
EnqueueNDRangeKernel()

将开始在GPU上执行内核。

根据您的目标平台,情况可能会略有不同。例如,OpenCL并不特别要求存在GPU。而是可以在运行宿主程序的同一CPU上将内核作为多个线程执行。

OpenCL命名法摘要:

  • 主机 - 用于配置内核执行的主CPU
  • 设备 - 包含将执行内核(GPU)的处理单元的组件