【问题标题】:pycuda -- 'CUDA_ROOT not set, and nvcc not in path.'pycuda -- 'CUDA_ROOT 未设置,并且 nvcc 不在路径中。'
【发布时间】:2017-04-17 00:51:39
【问题描述】:

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

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

它给了我标题中的错误。

nvcc文件在上述目录中。

【问题讨论】:

    标签: pycuda


    【解决方案1】:

    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"
    

    【讨论】:

    • 如果你的意思是bashrc文件,内容是:#PATH=~/bin:$PATH export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/ cuda/lib64:$LD_LIBRARY_PATH .nvcc 工作正常,无论我在哪里调用它
    • 运行python configure.py时是切换用户还是使用sudo?
    • 我在执行“make install”时使用 sudo。我从不切换用户。(在执行 python 配置时我不使用 sudo)
    • :在命令 'sudo -E myuser -c "make install"' 中,myuser 我正在写入用户,对吗?但它不起作用。它说找不到命令。第一个时间我用 sudo make install 命令安装它没有问题。
    • 嗯,这很奇怪。你用的是什么平台?我查看了 setup.py 代码,只有当用户没有将 CUDA_ROOT 定义为 env 变量时才会引发错误。
    【解决方案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"

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2018-08-16
        • 2015-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-12
        • 2021-01-29
        • 2012-05-13
        相关资源
        最近更新 更多