使用Ubuntu python-pyopencl
软件包安装后,PyOpenCL无法访问我的Nvidia设备。这种安装PyOpenCL的方法用于使用相同的硬件和相同版本的Ubuntu(14.10)。
当我运行pyopencl.get_platforms()
时,错误消息为:
LogicError: clGetPlatformIDs failed: platform not found khr
我尝试了不同的驱动程序,不同的软件包组合以及全新安装的操作系统。
如何在Ubuntu上为Nvidia卡安装PyOpenCl?
更新1
全新安装操作系统后,get_platforms()
显示两个平台:AMD和Intel(beignet)。 Nvidia仍然不起作用。
更新2
在http://wiki.tiker.net/OpenCLHowTo尝试更多内容后,python-pyopencl
包现在会抛出错误。
The following packages have unmet dependencies:
python-pyopencl: Depends: libgcc1 (>= 1:4.1.1) but 1:4.9.0-6ubuntu1 is to be installed
Depends: libopencl-1.1-1 but it is a virtual package
Depends: libopencl-1.2-1 but it is a virtual package
Depends: python-numpy (>= 1:1.8.0) but 1:1.8.1-1ubuntu1 is to be installed
Depends: python-numpy-abi9 but it is a virtual package
Depends: python (< 2.8) but 2.7.6-2 is to be installed
Depends: python-pytools (>= 2013.5.2) but 2014.2.1-1 is to be installed
答案 0 :(得分:2)
确保您对/ dev / nvidia *拥有正确的权限,默认情况下只能以root用户身份访问。或者只使用sudo运行。
答案 1 :(得分:1)
尝试以root身份运行python脚本。如果cl.get_platforms()
未在root下引发任何错误,则您的用户没有足够的权限来执行操作。要解决此问题,请安装nvidia-modprobe
包:
sudo apt-get install nvidia-modprobe
有关详细说明,您可以read this blog。
答案 2 :(得分:0)
此命令在Ubuntu(英特尔图形卡)上解决了我的问题
sudo apt-get install opencl-headers