pycuda - 'CUDA_ROOT未设置,nvcc不在路径中。'

时间:2011-12-03 15:50:10

标签: pycuda

虽然我已经安装了pycuda并使用它,但它开始(没有做某事)不工作。所以,我试图再次安装,但是当我在做什么

  

python configure.py --cuda-root = / usr / local / cuda / bin

它给了我标题中的错误。

nvcc文件位于上述目录中。

3 个答案:

答案 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_ROOTCUDA_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.