未检测到 CUDA 路径。如果 CuPy 加载失败,请设置 CUDA_PATH 环境变量

ju *_*kim 5 python nvidia cupy

C:\\Users\\jkim4\\Anaconda3\\lib\\site-packages\\cupy\\_environment.py:213: UserWarning: CUDA path could not be detected. Set CUDA_PATH environment variable if CuPy fails to load.\n  warnings.warn(\nTraceback (most recent call last):\n  File "C:\\Users\\jkim4\\Anaconda3\\lib\\site-packages\\cupy\\__init__.py", line 16, in <module>\n    from cupy import _core  # NOQA\n  File "C:\\Users\\jkim4\\Anaconda3\\lib\\site-packages\\cupy\\_core\\__init__.py", line 1, in <module>\n    from cupy._core import core  # NOQA\n  File "cupy\\_core\\core.pyx", line 1, in init cupy._core.core\n  File "C:\\Users\\jkim4\\Anaconda3\\lib\\site-packages\\cupy\\cuda\\__init__.py", line 8, in <module>\n    from cupy.cuda import compiler  # NOQA\n  File "C:\\Users\\jkim4\\Anaconda3\\lib\\site-packages\\cupy\\cuda\\compiler.py", line 12, in <module>\n    from cupy.cuda import function\n  File "cupy\\cuda\\function.pyx", line 1, in init cupy.cuda.function\n  File "cupy\\cuda\\texture.pyx", line 1, in init cupy.cuda.texture\nImportError: DLL load failed while importing driver: \xec\xa7\x80\xec\xa0\x95\xeb\x90\x9c \xeb\xaa\xa8\xeb\x93\x88\xec\x9d\x84 \xec\xb0\xbe\xec\x9d\x84 \xec\x88\x98 \xec\x97\x86\xec\x8a\xb5\xeb\x8b\x88\xeb\x8b\xa4.\n\nThe above exception was the direct cause of the following exception:\n
Run Code Online (Sandbox Code Playgroud)\n

你好。我正在尝试运行论文中的一些代码,但遇到了麻烦,甚至无法实现作者的代码。

\n

我从 nvidia 安装了 cuda,从 conda-forge 安装了 cupy。但不知何故它说找不到 CUDA 路径。有什么办法可以解决这个问题吗?谢谢。

\n

小智 0

我对 OP 的安装略有不同。我使用conda 从 conda-forge 在 Windows 上安装了 cupy 和 cuda 到 conda 环境中这种类型的安装设置CUDA_PATH环境变量,但不会其记录到磁盘。因此,当安装终端被杀死时,它CUDA_PATH也会随之消失。然后我发现没有关于如何设置CUDA_PATHWindows conda 环境以及任何可能的安装路径的现成说明。但如果 cuda 是从 conda-forge 安装到 conda env 中的,那么答案就是设置CUDA_PATHC:\Users\username\.conda\envs\envname. 别费心了CUDA_HOME。请注意,该envname路径并不是CUDA特定的路径。它对于整个 conda 环境是通用的。

为了给这个答案增加更多的价值,我将补充一点,为了让现在永久保存的代码CUDA_PATH在我正在使用的开发环境 Visual Studio Code 中得到识别,有必要从定义的终端中的命令行启动代码CUDA_PATH。仅仅从所需的 conda env 中选择 python 解释器是不够的。