pycuda — 'CUDA_ROOT not set, and nvcc not in path.'

前端 未结 3 1764
自闭症患者
自闭症患者 2020-12-20 15:27

Although i had installed pycuda and using it ok,it started (without doing sth) not to work.So,i i tried to do the install again ,but when i am doing

相关标签:
3条回答
  • 2020-12-20 15:54

    In my case, I had to set CUDA_ROOT=/usr/local/cuda because with /usr/local/cuda/bin path, it was not able find include folder and it was failing with error didn't find cuda.h.

    0 讨论(0)
  • 2020-12-20 15:56

    I encountered the same issue on a Slackware64 13.37.

    Install command su -c "make install" switches to root (0bv10u5Ly) thus CUDA_ROOT should be set in the root's profile. CUDA_ROOT is not an environment variable, it's used by the setup.py. Add /usr/local/cuda/bin to PATH and define CUDA_ROOT=/usr/local/cuda/bin then try to install again.

    This is the quick and dirty way but if none of above worked out for you like me, below will definitely work. (:

    Remove

    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)
    

    and set

    cuda_root_default = "/usr/local/cuda/bin"
    

    in setup.py file. Then try su -c "make install".

    0 讨论(0)
  • 2020-12-20 16:06

    pycuda is not finding nvcc. Did you try adding /usr/local/cuda/bin to your env PATH variable? That's the way I have this setup.

    Edit:

    As far as I can tell the configure.py doesn't call nvcc compiler it just creates the the makefile. I take that this problem happens when you run sudo -c "make install" which calls setup.py.

    A couple of things to try. Make sure that you have CUDA_ROOT set:

    echo $CUDA_ROOT
    

    If it's empty, set it with:

    export CUDA_ROOT=/usr/local/cuda/bin
    

    Try running the make command again. Now with the -E to preserve your env:

    sudo -E sh -c "make install"
    
    0 讨论(0)
提交回复
热议问题