[PConline杂谈]随着RTX显卡的性能解禁,关于NVIDIAAmpere架构和RTX30系列显卡的相关信息也可以更多地披露出来,今天我们就根据我们实测和官方提供的信息,跟大家一起剖析一下新架构显卡性能暴涨的秘密。
NVIDIAAmpere架构上全新SM单元设计、升级的TensorCore与RTCore、8nm工艺和GDDR6X显存,一同为RTX30系列显卡带来了惊人的性能提升幅度,而PCIe4.0、HDMI2.1、RTXIO、Reflex等面向未来的新特性则为NVIDIA下阶段的发展打下良好的基础。
SM单元再优化,CUDA核心翻倍带动性能暴涨
RTX的性能是TITANRTX的1.5倍,RTX的性能达到RTX的2倍,RTX的性能略高于RTXTi,是RTX的1.6倍。
一直以来CUDA核心数的计算方式是一个SM模块下的FP32运算单元个数,根据原始的定义方法,需要有一组完整的INT(整数运算单元)+FP(浮点运算)组合才算是一个处理器单元,不过在目前的应用场景下,绝大多数运算(比如游戏计算)主要考察的是FP32单元的性能。
Turing架构(上)和Ampere架构(下)SM单元示意图
所以老黄从Fermi架构开始,就直接用FP32单元=CUDA核心这样的计算方式,并且沿用至今。以Turing示例,每SM单元有包含64个CUDA核心,看上图数FP32的格子就能数出64个FP32(4x16)单元。而到了这代NVIDIAAmpere架构后,虽然整体不布局结构与Turing差不多,中间的一组数据路径依然是全FP32单元设计,但左边的独立INT32单元数据路径则变成“FP32+INT32”单元。
每一组独立的FP32单元包含16组FP32CUDA核心,每个时钟周期可以执行16条FP32指令,而另一条数据路径包含16个FP32和16个INT32核心,每个时钟周期最大仍可以执行16条FP32指令,在该设计下,每个SM单元里的分区可以选择在每个时钟周期内执行32条FP32指令,或者是16条FP32+16条INT32指令。
这意味着在全新的Ampere架构中,一个SM单元最多可以在每个时钟周期内执行条FP32指令,达到了Turing架构的两倍,同时也可以在每个时钟周期内执行64条FP32+64条INT32指令,很好地兼顾性能和通用性。
RTX核心示意图,拥有68组SM单元
而按照FP32单元=CUDA核心数的计算方式,RTX配备的68组SM单元一共拥有68*个FP32单元=个FP32单元,跟官方标称的CUDA核心数保持一致。
不过这种方式带来的CUDA核心“翻倍”,并不直接意味着Ampere架构可以凭借“堆核心”实现性能翻倍,因为这种设计下只有在进行纯粹的FP32计算时才能实现性能的直接翻倍,(比如“挖矿”性能,的确实现了近乎翻倍的表现)。
而在大家更关心的游戏表现和其他实际应用中,虽然FP32单元会被调动得更多(进行浮点运算),但是它也需要调用INT32(进行整数预算)等其他单元的多种运算情况,所以在游戏里实现两倍性能提升的情况几乎不可能存在。
NVIDIA在