显卡CUDA和安装CUDA关系
号
·
属于深度学习常见的问题。
就是显卡版本,和代码CUDA版本和CUDNN的关系
重点
硬件环境:显卡版本 3090 + NVIDIA-Linux-x86_64-510.68.02
例如:我的驱动是510.85.02,驱动附带cuda=11.6
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.85.02 Driver Version: 510.85.02 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:27:00.0 On | N/A |
| 0% 36C P8 18W / 350W | 525MiB / 24576MiB | 2% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1097 G /usr/lib/xorg/Xorg 71MiB |
| 0 N/A N/A 1723 G /usr/lib/xorg/Xorg 155MiB |
| 0 N/A N/A 1858 G /usr/bin/gnome-shell 52MiB |
| 0 N/A N/A 2500 G ...890458150956446820,131072 227MiB |
+-----------------------------------------------------------------------------+
而我的torch版本是1.7.1+cu110:
torch 1.7.1+cu110
torchtext 0.8.0
torchvision 0.8.2
tornado 6.1
tqdm 4.63.1
traitlets 4.3.2
transformers 4.5.1
而我从nvidia下载的cuda版本是cuda_11.0_bu.TC445_37.28540450_0:
:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Thu_Jun_11_22:26:38_PDT_2020
Cuda compilation tools, release 11.0, V11.0.194
Build cuda_11.0_bu.TC445_37.28540450_0
很明显,显卡带的版本的CUDA==11.6;我从英伟达下载的cuda版本是cuda==11.0;使用的torch的版本是torch==1.7.1+cu110,也是cuda11.0。
总结
安装显卡驱动,附带cuda 版本 [必须 >= ] 从nvidia下载的cuda版本 [必须 = ] torch的cuda版本。
更详细的:
- 显卡安装驱动时候,显卡驱动附带的
CUDA版本可以高出库几个版本,但是一定不能低于安装的库版本!!!高了没关系,因为显卡CUDA是可以向下兼容CUDA库的,但是不能向上兼容。 - 从
NVIDIA下载CUDA库的版本号,必须和你使用的torch需要的cuda版本对应;
其他注意事项:
- cuda11是针对30系显卡,10.2等等都是30系以前的显卡,所以30系用不了11.x版本之前的cuda库。
- 但是20系或者10系显卡可以用高版本cuda。所以CUDA版本高了,旧卡也可以用
比如:
如果装了cuda10.2版本,你的30系显卡是用不了的,torch版本对应也没用。
但是装了cuda11.8版本,你的30系和40系都可以用。
更多推荐

所有评论(0)