OpenCL 平台术语

OpenCL Platform Term

我正在尝试在英特尔 FPGA 上学习 OpenCL。我有一个问题在想。我知道 OpenCL 的平台术语指的是 - 不完全是 - 供应商。如果我有 AMD CPU 和 AMD GPU,我就有 AMD 平台。但是,我想知道,如果我有 AMD CPU、Intel FPGA 和 NVIDIA GPU,是否意味着我有 3 个平台?如果不是 AMD CPU,而是 Intel CPU,这是否意味着平台数量减少到 2?有人可以澄清平台术语的用途吗?谢谢。

没错,OpenCL 平台指的是供应商,或者更确切地说,供应商 OpenCL 运行时驱动程序。使用 1 个 Intel CPU、2 个 Nvidia GPU 和 1 个 AMD GPU,您将拥有 3 个平台,一个用于 Intel,一个用于 Nvidia,一个用于 AMD。使用 AMD CPU 和 AMD GPU,您将拥有一个适用于两者的平台。与 Intel CPU 和 Intel GPU/FPGA 相同,也只有 1 个平台。

这里有一个平台=供应商规则的例外示例:系统中有 1 个 Intel CPU,但安装了 Intel OpenCL 运行时和 POCL OpenCL 运行时。然后你有 2 个平台(Intel 和 POCL),每个平台都具有与设备相同的 Intel CPU。

关于检测系统上的所有可用设备而不考虑其平台,请参阅here