OpenCL适用于AMD但不适用于Nvidia

时间:2016-08-25 22:42:59

标签: c++ visual-c++ opencl nvidia amd

我正在使用AMD Radeon 5450进行编程,但改为Nvidia Geforce GT 710,我的代码运行得很好但是现在它给出了错误-1

clGetDeviceIDs(platform, CL_DEVICE_TYPE_GPU, 1, &device, NULL);

这意味着“找不到设备”,OpenCL是否适用于Nvidia显卡?

更多信息:Visual Studios 2012,C ++,驱动程序还可以。

GPU Cabs Viewer称opencl已关闭,Nvidia称它支持opencl。

2 个答案:

答案 0 :(得分:0)

在安装新驱动程序之前,必须完全卸载AMD驱动程序。

http://www.guru3d.com/files-details/display-driver-uninstaller-download.html

答案 1 :(得分:0)

此外,在Windows上检查注册表参数。

对于Nvidia OpenCL:

HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors "nvopencl64.dll"=dword:00000000 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Khronos\OpenCL\Vendors "nvopencl32.dll"=dword:00000000

对于AMD OpenCL:

HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors "AMD_OpenCL64.dll"=dword:00000000 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Khronos\OpenCL\Vendors "AMD_OpenCL32.dll"=dword:00000000

对于Intel OpenCL:

HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors "IntelOpenCL64.dll"=dword:00000000 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Khronos\OpenCL\Vendors "IntelOpenCL32.dll"=dword:00000000