如何选卡¶
NVIDIA显卡产品线¶
NVIDIA常见的三大产品线如下
Quadro类型: Quadro系列显卡一般用于特定行业,比如设计、建筑等,图像处理专业显卡,比如CAD、Maya等软件。
GeForce类型: 这个系列显卡官方定位是消费级,常用来打游戏。但是它在深度学习上的表现也非常不错,很多人用来做推理、训练,单张卡的性能跟深度学习专业卡Tesla系列比起来其实差不太多,但是性价比却高很多。
Tesla类型: Tesla系列显卡定位并行计算,一般用于数据中心,具体点,比如用于深度学习,做训练、推理等。Tesla系列显卡针对GPU集群做了优化,像那种4卡、8卡、甚至16卡服务器,Tesla多块显卡合起来的性能不会受很大影响,但是Geforce这种游戏卡性能损失严重,这也是Tesla主推并行计算的优势之一。
Quadro类型分为如下几个常见系列¶
NVIDIA RTX Series系列: RTX A2000、RTX A4000、RTX A4500、RTX A5000、RTX A6000
Quadro RTX Series系列: RTX 3000、RTX 4000、RTX 5000、RTX 6000、RTX 8000
GeForce类型分为如下几个常见系列¶
Geforce 10系列: GTX 1050、GTX 1050Ti、GTX 1060、GTX 1070、GTX 1070Ti、GTX 1080、GTX 1080Ti
Geforce 16系列:GTX 1650、GTX 1650 Super、GTX 1660、GTX 1660 Super、GTX 1660Ti
Geforce 20系列:RTX 2060、RTX 2060 Super、RTX 2070、RTX 2070 Super、RTX 2080、RTX 2080 Super、RTX 2080Ti
Geforce 30系列: RTX 3050、RTX 3060、RTX 3060Ti、RTX 3070、RTX 3070Ti、RTX 3080、RTX 3080Ti、RTX 3090 RTX 3090Ti
Tesla类型分为如下几个常见系列¶
A-Series系列: A10、A16、A30、A40、A100
T-Series系列: T4
V-Series系列: V100
P-Series系列: P4、P6、P40、P100
K-Series系列: K8、K10、K20c、K20s、K20m、K20Xm、K40t、K40st、K40s、K40m、K40c、K520、K80
安培架构不兼容低版本cuda
- 需要注意3060、3060Ti,3090、3090Ti、3080Ti、A5000等Ampere(安培)架构的GPU需要cuda11.x版本才能使用,请使用较高版本的框架。
- 4090、4080、4070、4060、A6000等Ada Lovelace架构的GPU需要cuda11.3以上才能使用,为更好的发挥其性能,请选用cuda11.8以上版本,请使用较高版本的框架。
- 如果代码需要使用 cuda9、cuda10 等版本,请使用RTX5000,V100S,V100,P100,T4,2080Ti等非Ampere(安培)架构的GPU。
GPU信息¶
型号 | 显存 | 半精度(TFLOPS) | 单精度(TFLOPS) | 双精度(TFLOPS) | CUDA核心数量 | Tensor核心数量 | 架构 | 显存类型 |
---|---|---|---|---|---|---|---|---|
GeForce 4090 | 24GB | 165.16 | 82.58 | 1.290 | 16384 | 512 | Ada Lovelace | GDDR6 |
NVIDIA RTX A5000 | 24GB | 55.50 | 27.77 | 0.867 | 8192 | 256 | Ampere | GDDR6 |
Quadro RTX 5000 | 16GB | 22.30 | 11.15 | 0.348 | 3072 | 384 | Turing | GDDR6 |
GeForce 3090Ti | 24GB | 80 | 40.0 | 0.627 | 10752 | 336 | Ampere | GDDR6X |
GeForce 3090 | 24GB | 71 | 35.58 | 0.558 | 10496 | 328 | Ampere | GDDR6X |
GeForce 3080Ti | 12GB | 68.5 | 34.71 | 0.533 | 10240 | 320 | Ampere | GDDR6X |
GeForce 3080 | 10GB | 58.9 | 29.77 | 0.465 | 8704 | 272 | Ampere | GDDR6X |
GeForce 3070 | 8GB | 40.6 | 20.31 | 0.318 | 5888 | 184 | Ampere | GDDR6X |
GeForce 3060Ti | 12GB | 33.4 | 16.20 | 0.253 | 4864 | 152 | Ampere | GDDR6 |
GeForce 3060 | 12GB | 25.5 | 12.74 | 0.199 | 3584 | 112 | Ampere | GDDR6 |
GeForce 2080Ti | 11GB | 26.9 | 13.4 | 0.42 | 4352 | 544 | Turing | GDDR6 |
Tesla V100 NVLink | 32GB | 31.33 | 15.7 | 7.8 | 5120 | 640 | Volta | HBM2 |
Tesla V100 NVLink | 16GB | 31.33 | 15.7 | 7.8 | 5120 | 640 | Volta | HBM2 |
Tesla V100S PCIE | 32GB | 32.71 | 16.4 | 8.2 | 5120 | 640 | Volta | HBM2 |
Tesla P100 PCIE | 16GB | 21.22 | 10.6 | 5.3 | 3584 | 无 | Pascal | HBM2 |
Tesla T4 | 16GB | 16.30 | 8.141 | 0.254 | 2560 | 320 | Turing | GDDR6 |
GeForce ITAN X | 12GB | 13.28 | 6.691 | 0.153 | 3072 | 无 | Maxwell | GDDR5 |
具体区别¶
以现在比较常见的CUDA8.0,9.x,10.x为例,从计算库和支持的计算架构两个方面来罗列一下他们的区别:
计算库:¶
- CUDA8.0支持的lib/中有很常用的:cublas(基础线性代数计算库,Basic Linear Algebra Subprograms),cufft(快速傅里叶变换),curand(随机数),cusparse(稀疏矩阵),cusolver(解线性方程组)等等。
- CUDA9.0在cusolver,cugraph库中加入了新算法;加速了cublas,cufft中的算法;引入了Cooperative Groups来优化线程同步问题。
- CUDA9.2对RNN和CNN都做了一些专属加速;给cuFFT再次加速;加入了cutlass(自定义的线性代数运算)。
- CUDA10.0加入了nvJPEG(jpg图像处理库),应当可以加速dataloader;优化了cublas和cufft的性能。
支持的计算架构(Micro-architecture):¶
- CUDA8.0:费米(Fermi,GTX580)
- 开普勒(Kepler,GTX680,GTX780Ti,GTX Titan,Titan Z,Tesla K80)
- 麦克斯韦(Maxwell,GTX980Ti,Titan X,Tesla M40)
- 帕斯卡(Pascal,GTX1080Ti,Titan Xp,Tesla P100)
- CUDA9.x:
- 开普勒(Kepler,GTX680,GTX780Ti,GTX Titan,Titan Z,Tesla K80)
- 麦克斯韦(Maxwell,GTX980Ti,Titan X,Tesla M40)
- 帕斯卡(Pascal,GTX1080Ti,Titan Xp,Tesla P100)
- 伏特(Volta,Titan V,Tesla V100)
- CUDA10.x:
- 开普勒(Kepler,GTX680,GTX780Ti,GTX Titan,Titan Z,Tesla K80)
- 麦克斯韦(Maxwell,GTX980Ti,Titan X,Tesla M40)
- 帕斯卡(Pascal,GTX1080Ti,Titan Xp,Tesla P100)
- 伏特(Volta,Titan V,Tesla V100)
- 图灵(Turing,RTX2080Ti,Titan RTX,Tesla T4)