NVIDIA OpenCL 设备版本

NVIDIA OpenCL Device Version

NVIDIA 最近宣布其显卡支持 OpenCL 3.0。我有 NVIDIA Geforce MX150 卡,我已将我的 CUDA 工具包更新到版本 11.3,驱动程序为 465.19.01。我已经安装了显示有关 OpenCL 平台和设备的所有信息的 clinfo 工具。当我 运行 它时,它显示:

我在这里有点困惑。设备版本和设备 OpenCL C 版本有什么区别?我可以 运行 我的卡上的 OpenCL 3.0 代码还是它仍然支持 OpenCL 1.2 规范?

根据clGetDeviceInfo规范:

CL_DEVICE_OPENCL_C_VERSION 是编译器支持此设备的最高 OpenCL C 语言版本。

CL_DEVICE_VERSION为设备支持的OpenCL版本。

因此,即使您的 MX150 支持 OpenCL 3.0,您也只能编译 OpenCL 1.2 代码。请注意,OpenCL 3.0 基本上与 OpenCL 1.2 相同,但更好地支持可选的 OpenCL 2.x 功能。使用最新的驱动程序 Nvidia 添加了一些新的 OpenCL 2.x 功能,但仍然没有完整的 2.x 支持。