背景:
最近在进行某项算法工程部署任务时用到了比较老的torch1.6版本,在更换版本后发现环境出现了各种冲突,首先时torch与cuda的版本冲突,在更换cuda版本后发现显卡(注意这里不是驱动,而是显卡本身)与cuda产生了冲突,因此想要整理一篇来理清显卡、显卡驱动、cuda、torch四者之间的关系。
安装时的推理顺序:
显卡确定显卡驱动;显卡算力与显卡驱动确定CUDA版本;CUDA版本确定pytorch版本
显卡与显卡驱动的关系:
显卡与显卡驱动之间的关系很简单直接,讲废话就是驱动要支持显卡,那么怎么看是否支持?英伟达驱动下载界面具有产品支持列表,其中可查看其中有支持的显卡型号,我的显卡是RTXA2000。产品支持列表一般很长,可以使用搜索的方式查找。
显卡算力与cuda之间的关系:
英伟达显卡算力查看:
CUDA GPUs - Compute Capability | NVIDIA Developer
显卡算力与CUDA版本对应关系参考博主文章
在以往安装cuda的时候仅仅考虑过cuda与显卡驱动版本的对应问题,但是此次却发现,cuda不仅仅需要满足显卡驱动版本的要求,还要满足显卡的算力需求。在英伟达显卡算力查看网址中可以看到,我的显卡A2000的算力为8.6。下面的(参考其他博主)图片可以得出CUDA版本支持的算力情况,可以发先我的A2000显卡需要CUDA11.0以上的版本,如果我安装了11.0以下cuda的就会产生报错:CUDA capability sm_86 is not compatible with the current PyTorch
,
显卡驱动与cuda之间的关系:
显卡驱动与cuda版本对应关系:1. CUDA 12.4 Release Notes — Release Notes 12.4 documentation
cuda与torch之间的关系:
pytorch按照cuda版本安装网址:https://pytorch.org/get-started/previous-versions/
查看cuda与pytorch之间的关系可以直接在torch官网查看,其中会列举出来该版torch支持的cuda有哪些,以及其相关的安装命令是什么,例如torch1.6就支持的是cuda9.2、10.1、10.2