尽管我已经安装了 pycuda 并且可以正常使用,但它开始(没有做某事)不起作用。所以,我尝试再次安装,但是当我在做的时候
python configure.py --cuda-root=/usr/local/cuda/bin
它给了我标题中的错误。
nvcc 文件位于上述目录中。
尽管我已经安装了 pycuda 并且可以正常使用,但它开始(没有做某事)不起作用。所以,我尝试再次安装,但是当我在做的时候
python configure.py --cuda-root=/usr/local/cuda/bin
它给了我标题中的错误。
nvcc 文件位于上述目录中。
pycuda 没有找到 nvcc。您是否尝试将 /usr/local/cuda/bin 添加到您的 env PATH 变量中?我就是这样设置的。
编辑:
据我所知,configure.py 没有调用 nvcc 编译器,它只是创建了 makefile。我认为当您运行调用 setup.py 的 sudo -c "make install" 时会发生此问题。
有几件事要尝试。确保您设置了 CUDA_ROOT:
echo $CUDA_ROOT
如果它是空的,设置它:
export CUDA_ROOT=/usr/local/cuda/bin
尝试再次运行 make 命令。现在使用 -E 来保留您的环境:
sudo -E sh -c "make install"
我在 Slackware64 13.37 上遇到了同样的问题。
安装命令su -c "make install"
开关到 root (0bv10u5Ly) 因此CUDA_ROOT
应该在 root 的配置文件中设置。CUDA_ROOT
不是环境变量,它由 setup.py 使用。将 /usr/local/cuda/bin 添加到 PATH 并定义,CUDA_ROOT=/usr/local/cuda/bin
然后再次尝试安装。
这是一种快速而肮脏的方法,但如果上述方法都没有像我一样适合你,那么下面肯定会奏效。(:
消除
nvcc_path = search_on_path(["nvcc", "nvcc.exe"])
if nvcc_path is None:
print("*** CUDA_ROOT not set, and nvcc not in path. Giving up.")
sys.exit(1)
并设置
cuda_root_default = "/usr/local/cuda/bin"
在 setup.py 文件中。然后尝试su -c "make install"
。
在我的情况下,我必须设置CUDA_ROOT=/usr/local/cuda
,因为使用/usr/local/cuda/bin
路径,它无法找到包含文件夹并且它失败并出现错误没有找到 cuda.h。