背景
做深度学习的小伙伴们可能都会在安装环境的时候经常遇到的cuda版本驱动版本以及和显卡是如何对应的,经常搞得特别糊涂,官网没有直接提供他们的对应关系,导致我们在升级显卡的时候发现原来的软件环境不兼容,出现各种奇奇怪怪的问题。
NVIDIA系列显卡做深度学习,需要在宿主机安装显卡驱动(driver),需要在docker中安装英伟达的科学计算库(cuda),在python中安装深度学习库(我主要用pytorch),driver依赖显卡,cuda依赖driver,pytorch依赖cuda,于是就会有一些版本依赖问题.
最近我在将显卡从GTX2070升级到GTX3090的时候,发现自己原来pytorch程序总会在.cuda()命令卡十分钟左右,并且还有其他异常。后来才知到GTX3090需要cuda11以上的版本才能正常运行,而我使用的python库pytorch为0.4.1,cuda版本为9.0,受制于当前pytorch版本,无法使用最新的显卡,那么这个是如何看出来的呢?又如何解决?
寻找对应关系
英伟达官网(参考cuda-GPUs)并没有给出一个直接的关联关系,而是给了一个Compute Capability,让人摸不到头脑。
GPU 和Compute Capability的关系
实际上这是一个中间数据,还需要另外一张表才能找到和cuda的对应关系,经过搜索我在维基百科(参考CUDA)找到了答案。