带你读《弹性计算技术指导及场景应用》——3. Ada Lovelace架构解读及RTX 4090性能测试分析(1):https://developer.aliyun.com/article/1423694
∙ 第四代Tensor Core
◦ Ada架构搭载的第四代Tensor Core,大部分特性跟Hopper架构一样,最重要的是引入了一个新的数据类型FP8。不同的是去掉了FP64的支持,增加了INT4的支持。
◦ 在Tensor Core性能上,AD102相比GH100,大概是1/3的水平,跟GA100接近,是GA102的2倍。相比Ampere架构主要是新增了FP8的支持。
∙ L2缓存
◦ AD102的L2缓存增大到了98304KB,是GA102(6144KB)的16倍。
◦ 更大的L2缓存使得HPC和AI应用可以将更多的数据缓存到L2,而不是放到显存上,从而获得更高的读写速度,比如小batch size的深度神经网络的计算。
∙ GDDR6X显存
◦ 高达1TGB/s的24GB的GDDR6X显存,目前最高速的GDDR显存。
∙ GPU Spec
◦ RTX 4090是最新一代面向图形计算场景的GPU卡,我们将RTX 4090与上一代Ampere架构Tesla A100和RTX 3090 Ti的主要参数做了对比如下:
GPU Type |
RTX 4090 |
RTX 3090 Ti |
A100(SXM4-80G) |
GPU Architechture |
AD102(Ada Lovelace) |
GA102(Ampere) |
GA100(Ampere) |
GPCs(Graphics Processing Clusters) |
11 |
7 |
7 |
TPCs(Texture Processing Clusters) |
64 |
42 |
54 |
SMs(Streaming Multiprocessors ) |
128 |
84 |
108 |
FP32 CUDA Cores |
16384 |
10752 |
6912 |
INT32 CUDA Cores |
8192 |
5376 |
6912 |
FP64 CUDA Cores |
N/A |
N/A |
3456 |
Tensor Cores |
512 |
336 |
432 |
RT Cores |
128 |
84 |
N/A |
Geometry Units |
64 |
41 |
N/A |
TMUs(Texture Units) |
512 |
336 |
432 |
ROPs(Raster Operation Units) |
176 |
112 |
160 |
INT4(TOPS) |
1322/2644 |
640/1280 |
1248/2496 |
INT8(TOPS) |
660.6/1322 |
320/640 |
624/1248 |
INT32(TIPS) |
43 |
20 |
19.5 |
BF16(TFLOPS) |
86 |
40 |
39 |
FP16(TFLOPS) |
86 |
40 |
78 |
FP32(TFLOPS) |
86 |
40 |
19.5 |
FP64(TFLOPS) |
3 |
N/A |
19.7 |
Tensor Core FP8(TFLOPS) |
660.6/1322 |
N/A |
N/A |
Tensor Core FP16(TFLOPS) |
330/660 |
160/320 |
312/624 |
Tensor Core TF32(TFLOPS) |
86/165.2 |
40/80 |
156/312 |
Tensor Core FP64(TFLOPS) |
N/A |
N/A |
19.5 |
RTX-OPS(TOPS) |
191 |
78.1 |
N/A |
GPU Memory |
24 GB GDDR6X |
24 GB GDDR6X |
80 GB HBM2e |
Memory Clock(MHz) |
1325 |
1219 |
1593 |
Memory Interface Width |
384-bit |
384-bit |
5120-bit(10*512-bit) |
Memory Bandwidth(GB/s) |
1008 |
1008 |
2039 |
Interconnect Bandwidth(GB/s) |
PCIe Gen4:64 |
PCIe Gen4:64 |
NVLINK:600 |
Default Graphic Clock(MHz) |
2230 |
1395 |
1155 |
Max Graphic Clock(MHz) |
2520 |
1860 |
1410 |
Power(Watt) |
450 |
350 |
400 |
从Spec来看,使用新架构的RTX 4090相对于RTX 3090 Ti,CUDA Core、Tensor Core以及RT Core的性能均提升了2倍左右,显存容量和带宽并没有变化。而相比Tesla A100 ,Tensor Core性能是基本相当,略高5%。但是Tesla A100的显存带宽是RTX 4090的2倍,受限于显存带宽4090的算力发挥会受影响,推测小bs的AI任务RTX 4090会略有优势或者与A100接近,但是随着bs增大,Tesla A100的性能应该会更好,而且随着bs增大差距会拉大。
当然以上都是硬件的理论性能指标,那么RTX 4090的实际性能表现如何呢?下面通过一些实测数据来分析。
性能实测
我们测试了RTX 4090在图像分类、文本生成、图片生成这几个主要AI任务的训练和推理性能,并和Tesla A100做了相应对比。测试都是单卡,不考虑GPU间通信带宽对性能的影响。
从下面的测试结果来看,基本跟上面的分析差不多,RTX 4090算力略高于A100,但受限于显存带宽,实际小任务时性能与A100接近,大任务时A100优势更大。
图像分类(ResNet50)
图像分类测试的是TensorFlow ResNet50-v5 Training的性能:
TensorFlow ResNet50-v5 Training |
||||||||
GPU nums |
batch size per GPU |
precision |
variable_update |
local_parameter_device |
all_reduce_spec |
4090(images/sec) |
A100-80G(images/sec) |
A100/4090 |
1 |
64 |
fp16 |
parameter_server |
cpu |
None |
1324 |
1274.46 |
96.26% |
1 |
128 |
fp16 |
parameter_server |
cpu |
None |
1356.46 |
17825 |
1346% |
1 |
64 |
fp16 |
parameter_server |
gpu |
None |
1614.9 |
1784.63 |
110.51% |
1 |
128 |
fp16 |
parameter_server |
gpu |
None |
14791 |
1978.99 |
134.36% |
1 |
64 |
fp16 |
replicated |
gpu |
None |
15949 |
1486.6 |
935% |
1 |
128 |
fp16 |
replicated |
gpu |
None |
1457.87 |
20165 |
138.05% |
1 |
64 |
fp16 |
replicated |
gpu |
pscpu |
1595.17 |
1627.92 |
1005% |
1 |
128 |
fp16 |
replicated |
gpu |
pscpu |
1460.31 |
2004.91 |
137.29% |
1 |
64 |
fp16 |
replicated |
gpu |
nccl |
1589.09 |
1786.49 |
1142% |
1 |
128 |
fp16 |
replicated |
gpu |
nccl |
15343 |
20513 |
1394% |
从测试结果看,bs=64时4090性能与A100是接近的,但是到了bs=128时,差距可以达到30%以上。
文本生成(LLAMA)
我们测试了LLAMA 7b文本生成推理任务,用吞吐也就是每秒生成的token数作为评估标准,值越大性能越好。
GPU |
model size |
precision |
batch size |
throught(tokens/s) |
4090 |
7b |
fp16 |
1 |
46.38 |
A100 |
7b |
fp16 |
1 |
46.35 |
4090 |
7b |
fp16 |
2 |
87.85 |
A100 |
7b |
fp16 |
2 |
90.68 |
从测试结果可以看到:
Bs=1时4090跟A100差不多,bs=2时A100就超过4090了。
图片生成(Stable Diffusion)
Stable Diifusion 测试的是WEB UI场景固定sampling step=20生成512*512尺寸图片的时间,时间越短性能越好。测试了Pytorch native以及xformers加速后的生成时间。
GPU |
加速库 |
sampling steps |
image size |
batch size |
time(s) |
4090 |
native |
20 |
512*512 |
1 |
0.9 |
A100 |
native |
20 |
512*512 |
1 |
1 |
4090 |
xformers |
20 |
512*512 |
1 |
0.6 |
A100 |
xformers |
20 |
512*512 |
1 |
0.8 |
4090 |
native |
20 |
512*512 |
8 |
6.8 |
A100 |
native |
20 |
512*512 |
8 |
5.4 |
4090 |
xformers |
20 |
512*512 |
8 |
4.5 |
A100 |
xformers |
20 |
512*512 |
8 |
4.1 |
从结果看,在bs=1时,4090性能是优于A100的,但是当bs增大到8时,A100的性能就明显超过4090了。
总结
RTX 4090的Ada Lovelace架构继承了Hopper架构在AI计算方面的特性,同时搭载了新的第三代RT Core,AI性能和光追算力相比上一代RTX 3090 Ti均提升一倍,单GPU AI算力与A100接近。实际测试4090在小bs推理任务上可以与A100相当,但是首先显存带宽以及GPU间高速通信带宽的缺失,在多卡训练和推理任务上相比A100差距还是会很大。