
如图,第一次执行需要用到OpenCL的程序时报错
在修复后,能正常获取OpenCL Provider
安装Intel CPU Runtime for OpenCL Applications时使用的安装包为: w_opencl_runtime_p_2024.0.0.49848.exe
在经过排查后发现是注册表中英特尔OpenCL提供的 intelocl64.dll文件路径有问题
注册表路径:HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors
原来的值为:C:\Program Files (x86)\Common Files\Intel\Shared Libraries\intelocl64.dll
实际上此文件的位置位于:C:\Program Files (x86)\Common Files\Intel\Shared Libraries\bin\intelocl64.dll
因此只需要将原来的值改为:C:\Program Files (x86)\Common Files\Intel\Shared Libraries\bin\intelocl64.dll 即可
更新:
笔者在不同机器上测试后发现,修改前注册表中的值是不固定的(会有微小的差别,但总体是:\Program Files (x86)\Common Files\Intel\Shared Libraries\,其后的目录可能有所不同)。
但intelocl64.dll文件的实际位置基本都在C:\Program Files (x86)\Common Files\Intel\Shared Libraries\bin\intelocl64.dll
以防万一,建议在修改前手动搜索一下intelocl64.dll (在Shared Libraries文件夹下搜索即可),并将注册表的值修改为你实际找到的路径。
另外,部分机器可能会缺失一个名为 IntelOpenCLProfiler.dll 的项,类型为dword,值为0,如果没有,需要手动加上。
Comments NOTHING