3

python-pyopencl使用 Ubuntu软件包安装后,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)。英伟达还是不行。

更新 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
4

3 回答 3

2

确保您对 /dev/nvidia* 具有正确的权限,默认情况下只能以 root 身份访问。或者,只需使用 sudo 运行。

于 2015-05-21T01:56:09.890 回答
1

尝试以 root 身份运行您的 python 脚本。如果cl.get_platforms()在 root 下没有抛出任何错误,那么您的用户没有足够的权限来执行该操作。为了解决这个问题,安装nvidia-modprobe包:

sudo apt-get install nvidia-modprobe

如需进一步解释,您可以阅读此博客

于 2016-01-10T11:06:19.700 回答
0

此命令在 Ubuntu(英特尔显卡)上为我解决了这个问题

    sudo apt-get install opencl-headers
于 2016-03-17T03:05:23.610 回答