带你读《弹性计算技术指导及场景应用》——3. Ada Lovelace架构解读及RTX 4090性能测试分析(2)

本文涉及的产品
无影云电脑个人版,1个月黄金款+200核时
资源编排,不限时长
无影云电脑企业版,4核8GB 120小时 1个月
简介: 带你读《弹性计算技术指导及场景应用》——3. Ada Lovelace架构解读及RTX 4090性能测试分析(2)

带你读《弹性计算技术指导及场景应用》——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接近,是GA1022倍。相比Ampere架构主要是新增了FP8的支持。

∙        L2缓存

◦        AD102L2缓存增大到了98304KB,是GA102(6144KB)16倍。

◦        更大的L2缓存使得HPCAI应用可以将更多的数据缓存到L2,而不是放到显存上,从而获得更高的读写速度,比如小batch size的深度神经网络的计算。

∙        GDDR6X显存

◦        高达1TGB/s24GBGDDR6X显存,目前最高速的GDDR显存。

∙        GPU Spec

◦        RTX 4090是最新一代面向图形计算场景的GPU卡,我们将RTX 4090与上一代Ampere架构Tesla A100RTX 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 TiCUDA CoreTensor Core以及RT Core的性能均提升了2倍左右,显存容量和带宽并没有变化。而相比Tesla A100 Tensor Core性能是基本相当,略高5%。但是Tesla A100的显存带宽是RTX 40902倍,受限于显存带宽4090的算力发挥会受影响,推测小bsAI任务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=644090性能与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=14090A100差不多,bs=2A100就超过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 4090Ada Lovelace架构继承了Hopper架构在AI计算方面的特性,同时搭载了新的第三代RT CoreAI性能和光追算力相比上一代RTX 3090 Ti均提升一倍,单GPU AI算力与A100接近。实际测试4090在小bs推理任务上可以与A100相当,但是首先显存带宽以及GPU间高速通信带宽的缺失,在多卡训练和推理任务上相比A100差距还是会很大。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
24天前
|
监控 Java 持续交付
深入理解微服务架构及其在现代应用开发中的应用
深入理解微服务架构及其在现代应用开发中的应用
32 1
|
14天前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
22天前
|
机器学习/深度学习 自然语言处理 分布式计算
大规模语言模型与生成模型:技术原理、架构与应用
本文深入探讨了大规模语言模型(LLMs)和生成模型的技术原理、经典架构及应用。介绍了LLMs的关键特点,如海量数据训练、深层架构和自监督学习,以及常见模型如GPT、BERT和T5。同时,文章详细解析了生成模型的工作原理,包括自回归模型、自编码器和GANs,并讨论了这些模型在自然语言生成、机器翻译、对话系统和数据增强等领域的应用。最后,文章展望了未来的发展趋势,如模型压缩、跨模态生成和多语言多任务学习。
82 3
|
17天前
|
NoSQL Java 数据处理
基于Redis海量数据场景分布式ID架构实践
【11月更文挑战第30天】在现代分布式系统中,生成全局唯一的ID是一个常见且重要的需求。在微服务架构中,各个服务可能需要生成唯一标识符,如用户ID、订单ID等。传统的自增ID已经无法满足在集群环境下保持唯一性的要求,而分布式ID解决方案能够确保即使在多个实例间也能生成全局唯一的标识符。本文将深入探讨如何利用Redis实现分布式ID生成,并通过Java语言展示多个示例,同时分析每个实践方案的优缺点。
34 8
|
17天前
|
监控 算法 Java
jvm-48-java 变更导致压测应用性能下降,如何分析定位原因?
【11月更文挑战第17天】当JVM相关变更导致压测应用性能下降时,可通过检查变更内容(如JVM参数、Java版本、代码变更)、收集性能监控数据(使用JVM监控工具、应用性能监控工具、系统资源监控)、分析垃圾回收情况(GC日志分析、内存泄漏检查)、分析线程和锁(线程状态分析、锁竞争分析)及分析代码执行路径(使用代码性能分析工具、代码审查)等步骤来定位和解决问题。
|
25天前
|
运维 监控 安全
自动化运维的利剑:Ansible在现代IT架构中的应用
在数字化浪潮中,企业对IT系统的敏捷性和可靠性要求日益提高。Ansible,一种简单但强大的自动化运维工具,正成为现代IT架构中不可或缺的一部分。它通过声明式编程语言YAM,简化了系统配置、应用部署和任务自动化的过程,显著提升了运维效率和准确性。本文将深入探讨Ansible的核心特性、应用场景以及如何有效整合进现有IT环境,为读者揭示其在自动化运维中的实用价值和未来发展潜力。
|
18天前
|
Cloud Native 安全 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
39 3
|
17天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
46 1
|
18天前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
40 1
|
21天前
|
监控 持续交付 API
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
37 3