9

尽管我已经安装了 pycuda 并且可以正常使用,但它开始(没有做某事)不起作用。所以,我尝试再次安装,但是当我在做的时候

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

它给了我标题中的错误。

nvcc 文件位于上述目录中。

4

3 回答 3

11

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"
于 2011-12-03T17:06:55.270 回答
2

我在 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"

于 2012-05-13T15:14:11.133 回答
2

在我的情况下,我必须设置CUDA_ROOT=/usr/local/cuda,因为使用/usr/local/cuda/bin路径,它无法找到包含文件夹并且它失败并出现错误没有找到 cuda.h。

于 2017-03-07T21:58:38.540 回答