【发布时间】:2018-09-13 09:25:13
【问题描述】:
我正在尝试在 Amazon Web Services Windows 实例中使用 PyCulib 进行 GPU 计算并使用 Anaconda 5.1 和 Python 3.6,我安装了 PyCulib 并安装了 CUDA 9.1.85_win10 但是当我使用依赖于 CUDA 的导入时,我得到了以下错误:
Traceback (most recent call last):
File "findGPUs.py", line 4, in <module>
prng = curand.PRNG(rndtype=curand.PRNG.XORWOW)
File "C:\ProgramData\Anaconda3\lib\site-
packages\numba\cuda\cudadrv\devices.py", line 211, in _require_cuda_context
get_context()
File "C:\ProgramData\Anaconda3\lib\site-
packages\numba\cuda\cudadrv\devices.py", line 194, in get_context
return _runtime.get_or_create_context(devnum)
File "C:\ProgramData\Anaconda3\lib\site-
packages\numba\cuda\cudadrv\devices.py", line 162, in get_or_create_context
return self.push_context(self.gpus[devnum])
File "C:\ProgramData\Anaconda3\lib\site-
packages\numba\cuda\cudadrv\devices.py", line 40, in __getitem__
return self.lst[devnum]
File "C:\ProgramData\Anaconda3\lib\site-
packages\numba\cuda\cudadrv\devices.py", line 26, in __getattr__
numdev = driver.get_device_count()
File "C:\ProgramData\Anaconda3\lib\site-
packages\numba\cuda\cudadrv\driver.py", line 334, in get_device_count
self.cuDeviceGetCount(byref(count))
File "C:\ProgramData\Anaconda3\lib\site-
packages\numba\cuda\cudadrv\driver.py", line 272, in __getattr__
self.initialization_error)
numba.cuda.cudadrv.error.CudaSupportError: Error at driver init:
CUDA driver library cannot be found.
If you are sure that a CUDA driver is installed,
try setting environment variable NUMBAPRO_CUDA_DRIVER
with the file path of the CUDA driver shared library.
:
违规代码是:
import numpy as np
from pyculib import rand as curand
prng = curand.PRNG(rndtype=curand.PRNG.XORWOW)
rand = np.empty(100000)
prng.uniform(rand)
print(rand[:10])
我认为我的主要问题是我只是不知道 CUDA 驱动程序共享库在哪里。
我的路径是:
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\lib\x64
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\extras\CUPTI\libx64
具有以下变量:
CUDA_PATH: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1
CUDA_PATH_V9_1: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1
NUMBER_OF_PROCESSORS: 36
【问题讨论】:
-
驱动共享库为
nvcuda.dll,一般位于C:\Windows\System32。但是我有理由确定应用程序应该“自动”在这个目录中找到 DLL。不太确定是什么问题。您是否验证了您的 CUDA 安装?验证说明在 CUDA windows 安装指南中。 -
我可以很好地验证我的 CUDA 安装,问题是那个 .dll 不存在。
-
这种说法毫无意义。要使 CUDA 安装正常工作,您必须安装驱动程序库,这是标准 nvidia 驱动程序安装的模式。
-
我可以使用 nvcc -V 验证我的安装给我:nvcc:NVIDIA (R) Cuda 编译器驱动程序 版权所有 (c) 2005-2017 NVIDIA Corporation 建立于 Fri_Nov__3_21:08:12_Central_Daylight_Time_2017 Cuda 编译工具,版本 9.1,V9.1.85。我做了更多研究,看来我的 aws 实例不支持我正在尝试做的事情。
-
这不会验证 CUDA 安装。我已经向您指出了在哪里可以找到验证说明。如果您的 AWS 实例不是配备 GPU 的实例,那么您当然无法使用它执行 GPU 计算。
标签: python amazon-web-services cuda anaconda gpu