ubuntu Python LogicError:clGetPlatformIDs failed:platform not found khr

tsm1rwdh  于 11个月前  发布在  Python
关注(0)|答案(7)|浏览(137)

在Ubuntu中对Python程序集进行nosetest时,出现错误:

devices = [ d for d in cl.get_platforms()[0].get_devices() if
LogicError: clGetPlatformIDs failed: platform not found khr

File "/home/fateeva/prog/deflectometry/SGMFMeasurement/_PhaseShifts.py", line 30, in <module>
    devices = [ d for d in cl.get_platforms()[0].get_devices() if
LogicError: clGetPlatformIDs failed: platform not found khr

字符串
怎么可能修好它?

noj0wjuj

noj0wjuj1#

看起来你已经安装了pyopencl,但是没有实际的设备驱动程序。请参考https://documen.tician.de/pyopencl/misc.html上的文档。
以下是对这种行为的描述:
请注意,如果没有OpenCL设备驱动程序(所谓的“ICD”,即“可安装的客户端驱动程序”),PyOpenCL就没有乐趣(即无法运行代码)。如果您收到类似于pyopencl.cffi_cl.LogicError:clGetPlatformIDs failed:的错误消息,则意味着您没有安装OpenCL驱动程序。
基本上,下一个命令应该足以让它在CPU上运行:

[pip]conda install pocl

字符串
要正确安装AMD和Nvidia设备,请查找供应商提供的OpenCL驱动程序。

gc0ot86w

gc0ot86w2#

尝试

$ sudo apt install pocl-opencl-icd

字符串
我在Ubuntu WSL for Windows 10,Python 3.8.10上测试了它。

qlckcl4x

qlckcl4x3#

这可能是因为OpenCL驱动程序没有正确安装。
英特尔CPU需要OpenCL用于英特尔酷睿和英特尔至强处理器(16.1.1或更高版本)。从英特尔网站下载并安装OpenCL™最新版本。忽略兼容性警告。
来源:https://youtu.be/AieYqNQ6ADM

acruukt9

acruukt94#

这是一个bug。试试这个:

sudo apt-get install nvidia-settings
sudo nvidia-smi

字符串
或以root身份运行(不使用sudo)。
之后,你应该能够运行它。
添加

nvidia-smi


到/etc/rc.local(当然是在退出之前),这样你的GPU在每次 Boot 之后都可以使用。

hc2pp10m

hc2pp10m5#

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

sudo apt-get install nvidia-modprobe

字符串
Source

z18hc3ub

z18hc3ub6#

更新日期:

pip install pocl-binary-distribution

字符串
可能有用。对我有用。

az31mfrm

az31mfrm7#

试试这个应该可以

devices = [ d for d in cl.get_platforms()[0].get_devices(cl.device_type.GPU)]

字符串
如果您想列出平台上的所有兼容设备,只需使用

platform = cl.get_platform()
my_devices = platform[0].get_devices(device_type = cl.devices_type.ALL)
print my_devices


要在任何兼容设备上创建上下文,请使用以下命令:

context = cl.Context([my_devices[<index>])


其中对应于要为其创建上下文的设备。例如:

context = cl.Context([my_devices[0])


也参考我的这篇文章,它会有所帮助.我也有这个问题:
pyopencl:为特定设备创建上下文

相关问题