Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Linux Mint上的PyOpenCL:未找到平台\u KHR_Python_Nvidia_Linux Mint_Pyopencl - Fatal编程技术网

Python Linux Mint上的PyOpenCL:未找到平台\u KHR

Python Linux Mint上的PyOpenCL:未找到平台\u KHR,python,nvidia,linux-mint,pyopencl,Python,Nvidia,Linux Mint,Pyopencl,我一直在尝试在LinuxMint机器上运行。我已经安装了一些东西,但演示脚本失败,出现以下错误: pyopencl.cffi_cl.LogicError: clgetplatformids failed: PLATFORM_NOT_FOUND_KHR 配置 $uname-a和&cat/etc/lsb发行版和&lspci | grep NV Linux 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64

我一直在尝试在LinuxMint机器上运行。我已经安装了一些东西,但演示脚本失败,出现以下错误:

pyopencl.cffi_cl.LogicError: clgetplatformids failed: PLATFORM_NOT_FOUND_KHR
配置
$uname-a和&cat/etc/lsb发行版和&lspci | grep NV

    Linux 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
    DISTRIB_DESCRIPTION="Linux Mint 17.3 Rosa"
    01:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 730] (rev a1)
相关安装包:

libcuda1-352-updates
libcudart5.5:amd64
nvidia-352-updates
nvidia-352-updates-dev
nvidia-cuda-dev
nvidia-cuda-toolkit
nvidia-opencl-icd-352-updates
nvidia-profiler
nvidia-settings
ocl-icd-libopencl1:amd64
ocl-icd-opencl-dev:amd64
opencl-headers
python-pycuda
python-pyopencl
python3-pycuda
python3-pyopencl
研究 描述安装了opencl/cuda实现的package manager未正确设置某些simlinks的场景。我的系统中似乎没有这个问题

图形驱动程序(nvidia-340)和nvidia opencl软件包(352)之间存在版本号不匹配。我将图形驱动程序更新为
nvidia-352-updates-dev
,但问题仍然存在

有一个问题似乎围绕着未创建的必要设备文件展开。但是,我已经验证了
/dev/nvidia0
/dev/nvidiactl
存在并且具有666权限,因此应该可以访问它们

建议以root用户身份运行演示。我已经试过了,但行为没有改变

<> PU> CUDA/OpenCL称直接从英伟达网站下载驱动程序。我不确定这是否仍然适用,所以我暂时暂缓,因为在责任部门似乎有很多相关的程序包

,通过将适当的文件放入
/usr/lib/OpenCL/vendors
中解决。这个路径在我的系统上没有使用,但是,我确实有
/etc/OpenCL/vendors/nvidia.icd
,其中包含行
libnvidia OpenCL.so.1
,这表明我的问题不同

,但原因与此无关。也似乎无关

。不过,我正在桌面环境中测试这一点。此外,我运行了该线程中建议的手动命令以确保安全,因为相关的/dev条目已经存在,所以这些命令是多余的

这里有一个注意事项,就是简单地运行一个命令几次,以避免出现某种临时故障。这似乎没有帮助

描述类似的
cuInit如何失败:没有因用户不在
video
组中而导致任何设备
CUDA错误。为了检查,我运行了
usermod-a-G video$USER
,但它没有解决我的问题

。我并没有花时间去探索软件包版本号的每一种排列,而且可能一些软件包的降级会改变这种情况。然而,如果没有关于问题来源的进一步直觉,我不会花时间去做,因为我不知道它是否会起作用

在第一页中,此错误的主要原因是PyOpenCL列表上的一个简短且未解析的电子邮件线程。建议检查/dev/nvidia0和/dev/nvidiactl的权限位。在我的机器上,用户/组/其他人都对这些设备具有读写权限,所以我认为这不是问题的根源

我还尝试了构建和安装PyOpenCL表单的最新源代码,而不是使用存储库中的版本。这是失败的早期阶段,这对我来说是不正确的建设

总结
问题似乎是PyCUDA/PyOpenCL找不到图形卡。有几个已知的问题可能导致这种情况,但它们似乎都不适用于这里。我错过了什么,我不知道还有什么要做。< /p>你能安装英伟达CUDA SDK并运行这些例子吗?特别是,deviceQuery函数将让您知道是否可以与设备对话,而与OpenCL基础设施是否正确配置无关。另一种方法是安装Intel OpenCL驱动程序,看看是否可以让pyopencl与CPU对话。当英伟达和AMD驱动安装在/ETC/OpenCL /供应商时,我确实遇到了问题,但是AMD驱动程序不是NVIDIA驱动程序。我的nvidia.icd文件包含Ubuntu 14.04的完整路径/usr/lib/x86_64-linux-gnu/libnvidia opencl.so.1。我为你感到难过,我不止一次这样做了。我不记得我是如何卸载nvidia的驱动程序的,所以希望他们能在超级用户上帮助你。当您返回X并准备继续时,使用
$locate deviceQuery
查找源目录,或
$dpkg-L cuda repo-[Tab completion]
列出从.deb安装的文件。我的机器上运行了nvidia-352驱动程序(不是nvidia-352-updates),它支持我的GeForce GTX 980 Ti(GK110)毫无疑问。我使用了nvidia的repos for apt。您可以通过从安装deb文件来配置它们。请注意,deviceQuery可从cuda-samples-7-5软件包获得。这将在/usr/local/cuda-7.5/samples/中安装源代码,您需要运行make来构建可执行文件。以下是源代码示例。您需要从/usr/local/cuda-7.5/samples中
sudo make
,或者将树复制到本地目录并运行make。我已经安装了nvidia-opencl-icd-352。这安装了英伟达OpenCL驱动程序,并将/USR/LIB/X86Y64-LIUX-GNU/LBNVIIDIA OpenCL,SO 1,导入/ETC/OpenCL/Subvs/Nvidia. ICD。