如何解决Windows 10Miniconda Pyopencl-ImportError:导入_cl时DLL加载失败:找不到指定的过程
我一直在Macbook上使用pyopencl。我安装了miniconda并使用these instructions从那里安装了pyopencl。
在Mac上,一切正常,我可以运行一个小的示例程序,并且可以正常工作。
然后我尝试在Windows 10台式机上使用pyopencl,因为它具有合适的GPU(Nvidia GeForce GTX 1080TI),但我似乎无法在同一示例程序中使用它。
就像使用Mac一样,我遵循these instructions并安装了miniconda,然后安装了pyopencl。
但是,当我运行示例程序时,出现以下错误:
C:\Users\Grant\Desktop\Exercises-Solutions-1.2.1\Exercises\Exercise03\Python>python vadd.py
Traceback (most recent call last):
File "vadd.py",line 13,in <module>
import pyopencl as cl
File "C:\ProgramData\Miniconda3\lib\site-packages\pyopencl\__init__.py",line 29,in <module>
import pyopencl.cltypes # noqa: F401
File "C:\ProgramData\Miniconda3\lib\site-packages\pyopencl\cltypes.py",line 22,in <module>
from pyopencl.tools import get_or_register_dtype
File "C:\ProgramData\Miniconda3\lib\site-packages\pyopencl\tools.py",line 37,in <module>
from pyopencl._cl import bitlog2 # noqa: F401
ImportError: DLL load failed while importing _cl: The specified procedure could not be found.
这是我通过conda安装的内容:
C:\Users\Grant\Desktop\Exercises-Solutions-1.2.1\Exercises\Exercise03\Python>conda list
# packages in environment at C:\ProgramData\Miniconda3:
#
# Name Version Build Channel
appdirs 1.4.3 py_1 conda-forge
ca-certificates 2020.6.20 hecda079_0 conda-forge
certifi 2020.6.20 py38h9bdc248_2 conda-forge
cffi 1.14.0 py38h7a1dbc1_0
chardet 3.0.4 py38_1003
conda 4.8.5 py38h9bdc248_2 conda-forge
conda-package-handling 1.6.1 py38h62dcd97_0
console_shortcut 0.1.1 4
cryptography 2.9.2 py38h7a1dbc1_0
decorator 4.4.2 py_0 conda-forge
idna 2.9 py_1
intel-openmp 2020.1 216
khronos-opencl-icd-loader 2020.06.16 h62dcd97_1 conda-forge
libblas 3.8.0 16_mkl conda-forge
libcblas 3.8.0 16_mkl conda-forge
liblapack 3.8.0 16_mkl conda-forge
mako 1.1.3 pyh9f0ad1d_0 conda-forge
markupsafe 1.1.1 py38hab1e662_2 conda-forge
menuinst 1.4.16 py38he774522_0
mkl 2020.1 216
numpy 1.19.2 py38hdf1ac2f_1 conda-forge
openssl 1.1.1h he774522_0 conda-forge
pip 20.0.2 py38_3
powershell_shortcut 0.0.1 3
pycosat 0.6.3 py38he774522_0
pycparser 2.20 py_0
pyopencl 2020.2.2 py38hfd46600_1 conda-forge
pyopenssl 19.1.0 py38_0
pysocks 1.7.1 py38_0
python 3.8.3 he1778fa_0
python_abi 3.8 1_cp38 conda-forge
pytools 2020.4 pyh9f0ad1d_0 conda-forge
pywin32 227 py38he774522_1
requests 2.23.0 py38_0
ruamel_yaml 0.15.87 py38he774522_0
setuptools 46.4.0 py38_0
six 1.14.0 py38_0
sqlite 3.31.1 h2a8f88b_1
tqdm 4.46.0 py_0
urllib3 1.25.8 py38_0
vc 14.1 h0510ff6_4
vs2015_runtime 14.16.27012 hf0eaf9b_1
wheel 0.34.2 py38_0
win_inet_pton 1.1.0 py38_0
wincertstore 0.2 py38_0
yaml 0.1.7 hc54c509_2
zlib 1.2.11 h62dcd97_4
我不确定是否丢失了某些东西,但似乎找不到DLL,因此尝试确保我的GPU驱动程序是最新的,但那没有用,因此我尝试安装Nvidia CUDA toolkit。再次没有影响,问题仍然存在。
我唯一可能的线索是,在Macbook的miniconda安装目录中,有一个OpenCl文件夹,然后是一个包含apple.icd文件的供应商文件夹。
miniconda3/etc/OpenCL/vendors/apple.icd.
但是我的Windows PC上的miniconda安装目录似乎缺少该OpenCL文件夹,并且缺少vendors文件夹和.icd文件。
C:\ProgramData\Miniconda3\etc>dir
Volume in drive C has no label.
Volume Serial Number is 4E38-45B0
Directory of C:\ProgramData\Miniconda3\etc
12/10/2020 17:54 <DIR> .
12/10/2020 17:54 <DIR> ..
12/10/2020 17:54 <DIR> fish
12/10/2020 18:04 <DIR> profile.d
0 File(s) 0 bytes
4 Dir(s) 37,407,539,200 bytes free
这对我来说是问题的原因,但我不确定。而且即使是我也不知道生成此 .icd 文件需要做什么。
任何帮助将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。