NVIDIA OpenCL 设备版本
NVIDIA OpenCL Device Version
NVIDIA 最近宣布其显卡支持 OpenCL 3.0。我有 NVIDIA Geforce MX150 卡,我已将我的 CUDA 工具包更新到版本 11.3,驱动程序为 465.19.01。我已经安装了显示有关 OpenCL 平台和设备的所有信息的 clinfo 工具。当我 运行 它时,它显示:
- 设备版本 = OpenCL 3.0 CUDA
- 驱动程序版本 = 465.19.01
- 设备 OpenCL C 版本 = OpenCL C 1.2
我在这里有点困惑。设备版本和设备 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 支持。
NVIDIA 最近宣布其显卡支持 OpenCL 3.0。我有 NVIDIA Geforce MX150 卡,我已将我的 CUDA 工具包更新到版本 11.3,驱动程序为 465.19.01。我已经安装了显示有关 OpenCL 平台和设备的所有信息的 clinfo 工具。当我 运行 它时,它显示:
- 设备版本 = OpenCL 3.0 CUDA
- 驱动程序版本 = 465.19.01
- 设备 OpenCL C 版本 = OpenCL C 1.2
我在这里有点困惑。设备版本和设备 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 支持。