NVIDIA OpenCL 设备版本

Muh*_*han 3 gpu nvidia opencl

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

  • 设备版本 = OpenCL 3.0 CUDA
  • 驱动程序版本 = 465.19.01
  • 设备 OpenCL C 版本 = OpenCL C 1.2

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

Pro*_*ysX 5

根据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 支持。