【数据类型支持矩阵】
大语言模型由于设计较多exp运算,需要诸如llama系列的大模型需要BF16的数据类型支持。
显卡型号 | INT8 | INT4 | INT2 | FP32 | FP16 | TF32 | BF16 | FP64 |
---|
RTX 2080 Ti | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
RTX 3090 | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ |
RTX 4090 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
A100 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
L40 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
L40s | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
TITAN XP | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
【数据吞吐量矩阵】
下表是理论吞吐量,可用于对比代码运行效率来排除bug。
显卡型号 | INT2 算力 | INT4 算力 | INT8 算力 | FP32 算力 | FP16 算力 | TF32 算力 | BF16 算力 | FP64 算力 |
---|
RTX 2080 Ti | ❌ | ❌ | 137 TOPS | 14 TFLOPS | 112 TFLOPS | ❌ | ❌ | 0.44 TFLOPS |
RTX 3090 | ❌ | ❌ | 208 TOPS | 35.6 TFLOPS | 284 TFLOPS | 112 TFLOPS | ❌ | 1.1 TFLOPS |
RTX 4090 | ❌ | 1248 TOPS | 624 TOPS | 82.5 TFLOPS | 660 TFLOPS | 330 TFLOPS | 330 TFLOPS | 2.6 TFLOPS |
A100 | ❌ | 624 TOPS | 312 TOPS | 19.5 TFLOPS | 312 TFLOPS | 1238 TFLOPS | 312 TFLOPS | 97.9 TFLOPS |
L40 | 3200 TOPS | 1600 TOPS | 800 TOPS | 60 TFLOPS | 480 TFLOPS | 480 TFLOPS | 480 TFLOPS | 1.9 TFLOPS |
L40s | 3200 TOPS | 1600 TOPS | 800 TOPS | 60 TFLOPS | 480 TFLOPS | 480 TFLOPS | 480 TFLOPS | 1.9 TFLOPS |
TITAN XP | ❌ | ❌ | ❌ | 11.3 TFLOPS | 22.6 TFLOPS | ❌ | ❌ | 5.6 TFLOPS |
【驱动和CUDA环境】
CUDA 11.8是一个分水岭,对Ada架构显卡的Tensor Core有大幅度提升。如果代码在3090和4090上运行速度差不多,多半是CUDA Toolkit装成11.7版本以下了。
显卡型号 | RTX 2080 Ti | RTX 3090 | RTX 4090 | A100 | L40 | L40s | TITAN XP |
---|
架构 | Turing | Ampere | Ada | Ampere | Ada | Ada | Pascal |
推荐 CUDA 版本 | 11.8/12.x | 11.8/12.x | 12.x | 12.x | 12.x | 12.x | 11.8 |
最低支持版本 | 10 | 11 | 11.8 | 11 | 11.8 | 11.8 | 8 |
CUDA 12.x 支持 | 部分特性 | ✅ | ✅ | ✅ | ✅ | ✅ | 受限 |
MIG 支持 | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
动态稀疏计算 | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ |