:/usr/local/cuda-11.1:/usr/local/cuda/bin/nvcc: not found

问题描述:
使用nvcc -V可以识别cuda版本
但是使用setup.py进行编译会报错“:/usr/local/cuda-11.1:/usr/local/cuda/bin/nvcc: not found”

解决办法
存在多个版本的cuda版本
使用 nano ~/.bashrc,, nano ~/.bashrc
修改了几次环境变量也没成功(可能需要重启生效),
在usr/local/路径下包含cuda,cuda11.1,cuda11.7
最后一次直接在命令行输入
export CUDA_HOME=/usr/local/cuda之后可以成功编译

原因:
应该是并没有成功的切换cuda版本,导致编译无法找到正确nvcc可以参考以下办法进行版本的切换
配置cuda11.1环境变量,配置其他环境亦可

nano ~/.bashrc

之后

export CUDA_HOMA=/usr/local/cuda/cuda-11.1:$CUDA_HOME
export PATH=/usr/local/cuda/cuda-11.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/cuda/local/cuda-11.1/lib64:$LD_LIBRARY_PATH

保存并退出后,更新环境变量:

source ~/.bashrc

2:编写脚本进行快速转变,可以很好生效

创建脚本

sudo nano /usr/local/bin/switch_cuda_11.1.sh

填写脚本内容

#!/bin/bash
export PATH=/usr/local/cuda-11.1/bin${
    
    PATH:+:${
    
    PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64${
    
    LD_LIBRARY_PATH:+:${
    
    LD_LIBRARY_PATH}}
echo "Switched to CUDA 11.1"

保存并退出,赋予执行权限:

sudo chmod +x /usr/local/bin/switch_cuda_11.1.sh

可以重复设置多个脚本文件,在使用指定cuda版本时

source /usr/local/bin/switch_cuda_11.1.sh

之后使用,验证

nvcc -	V

猜你喜欢

转载自blog.csdn.net/sept_boy/article/details/141467601