【发布时间】:2014-06-14 01:22:37
【问题描述】:
使用 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)。英伟达还是不行。
更新 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
【问题讨论】:
-
您使用的是哪个 nvidia 显卡驱动程序?我认为Ubuntu默认使用'nouveau'开源驱动程序,我不确定是否支持opencl。您可以通过查看 /var/log/Xorg.0.log 找到驱动程序,其中会出现类似 'Loading /usr/lib64/xorg/modules/drivers/ ...' 这样的行
-
现在我已经安装了 Nvidia 331-updates 驱动程序
-
我遇到了同样的问题。看起来 nvidia-libopencl1-346(我正在使用的驱动程序)与 pyopencl 依赖关系树中的某些内容冲突。