在OpenCL中,平台,上下文和设备之间有什么区别?

san*_*age 13 gpgpu opencl gpu-programming

我是OpenCL编程的新手.设备,上下文和平台有什么区别?

Eri*_*tad 25

平台是特定的OpenCL实现,例如AMD APP,NVIDIA或Intel OpenCL.上下文是具有该平台的一组可用设备的平台.设备是执行计算的实际处理器(CPU,GPU等).

因此,如果您使用Intel平台,则此平台的有效上下文将包括CPU设备.如果您使用NVIDIA平台,则有效的上下文将包括NVIDIA GPU设备.

  • 当然。假设您的系统有 1 个 CPU 和 1 个 GPU,均来自 AMD。两者都将在 AMD OpenCL 平台上提供。一个上下文可能只有 CPU,另一个上下文可能只有 GPU,而第三个上下文可能包含 CPU 和 GPU。在一个上下文中拥有多个设备提供了更多的数据共享选项和同步。 (3认同)