【Bug解决】nvcc fatal : Unsupported gpu architecture ‘compute_86‘
·
报错描述
执行 pip install 'git+https://github.com/facebookresearch/detectron2.git'
安装 detectron2 遇到错误:
nvcc fatal : Unsupported gpu architecture 'compute_86'
报错环境:
- Linux:Ubuntu 18.04
- GPU:NVIDIA GeForce RTX 3090
- CUDA:11.0
- Pytorch:1.10
- Python:3.9
- GCC:7.5.0
解决方案
错误原因: GPU 3090 算力是 8.6,而当前 CUDA 11.0 不支持算力 8.6。
解决方案: 设置环境变量,降低算力要求。
# 打开配置文件
vi ~/.bashrc
# 在配置文件中添加如下一行
export TORCH_CUDA_ARCH_LIST="8.0" # 因为是CUDA11.0,对应的算力为8.0
# 保存后source更新
source ~/.bashrc
再次执行报错的安装命令,安装成功:
解决方案(目前不可行):将 CUDA 版本升级到支持算力 8.6 即可,但同时需要安装对应的PyTorch。在 CUDA官网 可以看到目前最新的 CUDA 版本是 11.6,表示支持算力 8.6 的 GPU。但是上 PyTorch官网 却看到目前 PyTorch 支持的 CUDA 最高版本是 11.3。因此这个办法暂时是不可行了,因为 PyTorch 还没有支持。
关于报错的原因解释
compute_86
是说当前 GPU 3090 的算力是 8.6,关于 GPU 算力和 CUDA 算力的关系是:
- 算力 8.0 的显卡可以在最高支持算力 8.6 的 CUDA 下正常运行
- 但算力 8.6 的显卡不能在最高支持算力 8.0 的 CUDA 下正常运行
- 也就是说 CUDA 支持的最高算力要大于等于GPU本身的算力
关于版本问题:
- 通常 CUDA 的最新版本要比 PyTorch 支持的 cuda 版本高,要注意
- CUDA 10.x 最高支持算力为 7.x,CUDA 11.x 最高支持算力为 8.x
更多推荐
已为社区贡献6条内容
所有评论(0)