我下载了intel_sdk_for_opencl_2016_ubuntu_6.0.0.1049_x64,试图运行,install.sh但它说不支持的操作系统,所以我然后读到我需要从 RPM 文件之一制作 .deb 文件的地方,我用 2 做了:
opencl-1.2-devel_6.0.0.1049-2_amd64.deb
opencl-1.2-intel-devel_6.0.0.1049-2_amd64.deb
安装了它们sudo dpkg -i,但我仍然没有 libOpenCL.so 我需要
现在我被卡住了...... :(
使用全新安装 17.04 lUbuntu
对 Ubuntu 来说相当新,而且我的问题经常是我试图找到的任何帮助都比我能遵循的要先进得多。
我正在尝试使用Genoils miner测试我的 AMD R9 290 卡进行挖矿。我在安装 Ubuntu 之前在 Windows 上尝试过,效果很好。
问题是当我尝试让它工作时,我收到此错误:
[OPENCL]:No OpenCL platforms found
[OPENCL]:
Listing OpenCL devices.
FORMAT: [deviceID] deviceName
Run Code Online (Sandbox Code Playgroud)
我知道至少安装了一些 OpenCL 相关的软件包。
据我了解,我应该使用名为AMDGPU 的开源驱动程序而不是 AMD 的驱动程序。但我不知道它是否已经安装,或者如果没有如何安装它。该AMDGPU页提到了一些xf86-video-amdgpu,我得到“无法找到”上。
我尝试了 AMD 自己的专有驱动程序,并且安装了 OpenCL 后可以正常工作,但随后出现错误,指出我的 DRM 版本有误:“amdgpu_device_initialize:DRM 版本为 2.45.0,但此驱动程序仅与 3.xx 兼容”据我所知AMDGPU 使用 3.xx 而 AMD 自己的驱动程序使用 2.xx
因此,根据我的发现,您可以使用此命令来检查您是否使用开源 AMDGPU
lspci -nnk | grep -iA2 vga
Run Code Online (Sandbox Code Playgroud)
如果正在使用的内核驱动程序显示“radeon”而不是“fglrx”,则它使用的是 AMDGPU。
我使用 AMDGPU 页面上的说明将 AMD 的驱动程序列入黑名单:
/etc/modprobe.d/radeon.conf
blacklist radeon
Run Code Online (Sandbox Code Playgroud)
(虽然我觉得有点奇怪,它在这里应该说“黑名单 radeon”,而内核驱动程序(使用上面的命令)应该用 …
我目前正在一台配备 AMD A8-5600K APU 和 Radeon R9 270X 的机器上运行 Ubuntu 16.04。amdgpu 驱动程序尚不支持我的卡,因此我无法在 GPU 上使用 OpenCL。但是,我看不出为什么 OpenCL 应用程序不能使用我的 CPU。
我已经安装了我能想到的所有软件包 - ocl-icd-libopencl1, ocl-icd-opencl-dev
, 等等。
我编写了一个简单的应用程序,它枚举了可用的 OpenCL 平台,但在clGetPlatformIDs()调用时失败了。我错过了什么?
编辑:我按照 SE6 的回答中的建议安装了 AMD APP SDK,但还没有出现任何平台。运行strace显示 OpenCL ICD 加载程序找不到libamdocl64.so.
进一步编辑:成功!我能够使用以下命令使其工作:
sudo ln -s '/opt/AMDAPPSDK-3.0/lib/x86_64/sdk/libamdocl64.so' \
/usr/lib/x86_64-linux-gnu/libamdocl64.so
Run Code Online (Sandbox Code Playgroud)
(替换/opt为您安装 AMD APP SDK 的路径。)