当我运行以下代码
时import pyopencl as cl
cl.get_platforms()
我收到错误
clGetPlatformIDs failed: <unknown error -1001>
我在aws ec2 Ubuntu 16.04.4 LTS(GNU / Linux 4.4.0-116-generic x86_64)上运行python 3.6 pyopencl 2018.1.1。
我尝试过以下内容,但没有一项能够发挥作用:
echo libnvidia-opencl.so.1 >> /etc/OpenCL/vendors/nvidia.icd
通过sudo -i
从根目录开始
ssh进入ubuntu ec2实例后。 (最初这个命令不起作用,所以我删除了nvidia.icd文件{rm nvidia.icd}
,然后这个命令工作。但它没有解决上面提到的错误1001。echo libnvidia-opencl.so.384.111 >> /etc/OpenCL/vendors/nvidia.icd
sudo ln -s /opt/intel/opencl-1.2-3.2.1.16712/etc/intel64.icd /etc/OpenCL/vendors/nvidia.icd
sudo usermod -aG video your-user-name
sudo ln -s /usr/share/nvidia-331/nvidia.icd /etc/OpenCL/vendors
sudo ln -s /usr/share/nvidia-384/nvidia.icd /etc/OpenCL/vendors
optirun myopenclprogram
答案 0 :(得分:0)
在EC2上使用OpenCL的最简单方法是使用深度学习基础映像,该映像随所有必需的驱动程序一起提供,并且已配置为使用P2和P3实例类型。该图片可在https://aws.amazon.com/marketplace/pp/B077GCH38C找到。