https://mapengsen.blog.csdn.net/article/details/137865369?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-137865369-blog-123348901.235%5Ev43%5Epc_blog_bottom_relevance_base8&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-137865369-blog-123348901.235%5Ev43%5Epc_blog_bottom_relevance_base8&utm_relevant_index=6
可能在你执行一些程序的时候(例如安装adan的时候):
FORCE_CUDA=1 python -m pip install git+https://github.com/sail-sg/Adan.git
可能会出现错误
nvcc fatal : Unsupported gpu architecture 'compute_89'
方法一:
vi ~/.bashrc
# 在配置文件中添加如下一行
export TORCH_CUDA_ARCH_LIST="8.0" # 因为是CUDA11.0,对应的算力为8.0
source ~/.bashrc
我是用这个方法成功安装的
安装好以后再将bashrc中的那行代码注释掉
【Bug解决】nvcc fatal : Unsupported gpu architecture ‘compute_86‘_nvcc fatal : unsupported gpu architecture 'compute-CSDN博客
方法二:
原因是conda环境下cuda编译器nvcc不支持compute_89导致安装失败,运行项目的requirement.txt安装环境往往会默认安装低版本的cuda环境。
通过 nvcc --list-gpu-arch 来查看支持的编译器
如果没有compute_89(nvcc --version版本是11.5或者以下),就需要重新安装cuda和nvcc
以ubuntu22.04为例,依次运行一下代码:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda-repo-ubuntu2204-12-2-local_12.2.0-535.54.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-2-local_12.2.0-535.54.03-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-2-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
安装完成后,可以查看cuda 12.2版本安装位置
sudo find / -name cuda-12.2
一般在/usr/local/cuda-12.2下
修改.bashrc
vim ~/.bashrc
增加新cuda环境变量
export CUDA_HOME=/usr/local/cuda-12.2
export PATH=/usr/local/cuda-12.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH
更新环境变量
source ~/.bashrc
再次查看nvcc --list-gpu-arch是否有compute_89
如果没有的话,可以用which nvcc查看nvcc目录
which nvcc
如果nvcc目录不是/usr/local/cuda-12.2 ,需要重新配置,先备份下原环境,然后重新配置
sudo mv /usr/bin/nvcc /usr/bin/nvcc.bak
sudo ln -s /usr/local/cuda-12.2/bin/nvcc /usr/bin/nvcc
这样就可以了。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_43135178/article/details/137865369