PyOpenCL Ubuntu Nvidia - 找不到平台

时间:2014-06-14 01:22:37

标签: ubuntu pyopencl

使用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

3 个答案:

答案 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