背景:
最近在进行某项算法工程部署任务时用到了比较老的torch1.6版本,在更换版本后发现环境出现了各种冲突,首先时torch与cuda的版本冲突,在更换cuda版本后发现显卡(注意这里不是驱动,而是显卡本身)与cuda产生了冲突
环境:
ubuntu20.04
CUDA10.2
torch1.6
显卡RTX A2000
报错内容:
Laptop GPU with CUDA capability sm_86 is not compatible with current PyTorch..
报错原因:
查看显卡算力和其与cuda版本的对应关系:显卡、显卡驱动、cuda、torch四者之间的关系-CSDN博客
cuda版本与显卡算力不匹配,我是A2000的卡,其算力为8.6,sm_86就是算力为86的意思。为了适配torch1.6我安装了10.2的cuda,但是只有11.0以上的cuda版本才支持8.6的算力,因此需要升级cuda版本为11.0。
其他使用者查看本机概况的方法:
查看本机环境信息方法:collect_env.py · 可豌豆/other_public_code - Gitee.com
与我显卡不同的使用者,不想通过《报错原因》中的脚本查找显卡信息,可以复制或者下载该博主的脚本查看本机概况,运行脚本后可以看到本机环境信息为下图所示:
其中上面的红框为显卡算力,下面的是CUDA支持算力,我的显卡算力为8.6,则CUDA支持的算力就要有sm86,否则需要更换CUDA版本
报错解决方法:
升级CUDA为11.0
备住:
其实在解决了该问题之后发现torch1.6要求的cuda为10.2,因此在A2000上使用torch1.6是不可能了