虽然我已经安装了pycuda并使用它,但它开始(没有做某事)不工作。所以,我试图再次安装,但是当我在做什么
python configure.py --cuda-root = / usr / local / cuda / bin
它给了我标题中的错误。
nvcc文件位于上述目录中。
答案 0 :(得分:8)
pycuda没有找到nvcc。您是否尝试将/ usr / local / cuda / bin添加到您的env PATH变量中?这就是我进行此设置的方式。
编辑:
据我所知,configure.py不会调用nvcc编译器,只是创建了makefile。我认为当你运行sudo -c“make install”调用setup.py时会发生这个问题。
要尝试的几件事。确保您已设置CUDA_ROOT:
echo $CUDA_ROOT
如果它为空,请将其设置为:
export CUDA_ROOT=/usr/local/cuda/bin
再次尝试运行make命令。现在使用-E来保存你的环境:
sudo -E sh -c "make install"
答案 1 :(得分:1)
我在Slackware64 13.37上遇到了同样的问题。
安装命令su -c "make install"
切换到root(0bv10u5Ly),因此应在根的配置文件中设置CUDA_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"
。
答案 2 :(得分:1)
在我的情况下,我必须设置CUDA_ROOT=/usr/local/cuda
因为/usr/local/cuda/bin
路径,它无法找到包含文件夹,但是如果找不到错误,则找不到cuda.h.