OpenCL 平台术语

Posted

技术标签:

【中文标题】OpenCL 平台术语【英文标题】:OpenCL Platform Term 【发布时间】:2021-07-08 04:33:12 【问题描述】:

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

【问题讨论】:

【参考方案1】:

您是对的,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 个平台。

以下是 Platforms=vendors 规则的例外示例:系统中有 1 个 Intel CPU,但安装了 Intel OpenCL 运行时和 POCL OpenCL 运行时。然后您有 2 个平台(Intel 和 POCL),每个平台都具有与设备相同的 Intel CPU。

关于检测系统上所有可用设备,无论其平台如何,请参阅here。

【讨论】:

以上是关于OpenCL 平台术语的主要内容,如果未能解决你的问题,请参考以下文章

Nvidia Tesla 上的 OpenCL:未找到任何平台

需要为 CPU 和 GPU 平台安装 opencl?

OpenCL(英特尔平台)显示构建错误(-11),状态为 0

在 Linux 中的多个平台上启用 OpenCL?如何处理 ICD 文件?

opencl平台设备上下文的获取与信息获取

一台机器上的 OpenCL Nvidia 和 Intel 平台