我试图在Linux上安装的OpenCL(AMD),但我被困在最后一步(安装ICD)
这似乎是ICD 具有的/ etc / OpenCL的/供应商进行安装,但我不具有对计算机的root访问权限。
有没有什么办法,使OpenCL的工作,而无需安装ICD? (或者通过环境变量添加搜索路径ICD文件?)
当ICD文件路径是硬编码这似乎只是对于我们来说真的很不方便。
我试图在Linux上安装的OpenCL(AMD),但我被困在最后一步(安装ICD)
这似乎是ICD 具有的/ etc / OpenCL的/供应商进行安装,但我不具有对计算机的root访问权限。
有没有什么办法,使OpenCL的工作,而无需安装ICD? (或者通过环境变量添加搜索路径ICD文件?)
当ICD文件路径是硬编码这似乎只是对于我们来说真的很不方便。
把ICD-文件/一些/路径/ ICD,然后导出像这样的路径:
export OPENCL_VENDOR_PATH=/some/path/icd
它曾经至少在以前的版本工作。 如果他们改变了它,我会感到很惊讶。
下面是如何做一个“用户”或“本地”的草图,无需管理员权限AMD的OpenCL SDK的安装。 步骤9还提供了使用AMD的OpenCL平台安装系统范围的选定的平台沿的方法。
安装目录/local/install/path
和当前的SDK版本只需要进行修改,以适应。
下载AMD OpenCL的SDK 64位。
$ tar -xvzf AMD-APP-SDK-v2.8-RC-lnx64.tgz
$ tar -xvzf icd-registration.tgz
$ cd AMD-APP-SDK-v2.8-RC-lnx64
$ mkdir /local/install/path
$ cp -r lib /local/install/path
$ cp -r include /local/install/path
$ cp -r ../etc /local/install/path
可选:做出所需的系统安装平台符号链接: $ ln -s /etc/OpenCL/vendors/nvidia.icd /local/install/path/etc/vendors/nvidia.icd
$ export OPENCL_VENDOR_PATH=/local/install/path/etc/vendors
$ export LD_LIBRARY_PATH=/local/install/path/lib/x86_64:$LD_LIBRARY_PATH
$ cc -I/local/install/path/include -L/local/install/path/lib/x86_64 -lOpenCL demo.c
$ ./a.out
这个只是一个更新,因为我突然发现有同样的问题(再次)自己。 我不得不禁用马车梅萨ICD这显然是在非root运行崩溃。 令人沮丧,因为它更多的是与API处理错误问题,同时列出了每个平台多与权限或clinfo错误。 确保禁用每个平台ICD隔离哪一个有问题。 希望以后这可以帮助别人。