12倍于上代的DP性能 NVIDIA Volta架构解析

12倍于上代的DP性能 NVIDIA Volta架构解析 NVIDIA Volta架构,一个在几年前便已经被曝光的次世代架构,于上周的GTC 2017大会上正式与大家见面。正如老黄去年所说的,NVIDIA未来会大幅提高产品的迭代速度以推动GPU界的发展,Volta架构的发布时间正好距Pascal架构的发布过了一年。在这短短的一年时间里,老黄将整个Pascal家族悉数抖落,以大家最熟悉的GeForce系列游戏卡为例,从GT 1030到GTX 1080 Ti可谓是高中低档应有尽有,比Maxwell 2家族的集体亮相整整快了约一年。

为什么NVIDIA能够做到短短一年便推出新架构产品?因为与AMD的拖延相比,NVIDIA严格按照自家的产品路线图发布产品,虽然受限于HBM显存的产能,NVIDIA在Maxwell和Volta之间加了一个Pascal作为过渡,但Pascal的表现却不敷衍,完全称得上是GPU史上的一个里程碑,因为NVIDIA的Pascal显卡让GPU的频率首次突破2GHz大关,在超频大师的手中甚至可以超过3GHz,追上了CPU的主频,这在以前是完全不敢想象的。

采用Volta架构的首款产品是NVIDIA Xavier SOC

现在GPU讲究的是能耗比,不再像以前一样单纯追求绝对性能,而采用了TSMC全新12nm的Volta让我们看到了能耗比的新高度:首发产品Tesla V100同P100相比,在TDP同为300W的情况下,单精度浮点运算性能提升了41.5%,实际HPC应用性能提升了40-70%,凭借架构中新引入的Tensor单元,在深度学习方面的性能甚至可以达到后者的12倍!

NVIDIA Tesla V100

我们上周在第一时间报道了有关Tesla V100的相关消息,但大家能看到的只是诸如815平方毫米的核心面积、210亿个晶体管、5120个CUDA核心、15TFLOPS单精度性能这样的专业数据,但我相信大家都很好奇Volta同Pascal相比究竟有了哪些设计方面的提升和改变,接下来吉吉我就用相对通俗易懂的语言来给大家细细道来,让大家看看老黄的“新核弹”究竟是怎样一个构造。

外观:PCI-E版身材迷你

同采用Pascal架构的Tesla P100一样,Volta P100也有2种版本,一种是用在DGX-1上的NVLink版,还有一种是标准的PCI-E版,两种版本的规格是一模一样的。首先我们看一下NVLink版的V100和P100对比:

上图为Tesla V100,下图为Tesla P100

由于V100和P100的TDP均为300W,并且都是使用了16GB的HBM2显存,所以NVLink版的PCB的设计几乎是一模一样的,仅仅是料件型号和排布上有些微区别。另外,需要强调的是,V100使用的是全新的NVLink 2接口,比NVLink多了2组通道,双向总带宽达300GB/s,比NVLink提升了87.5%。接下来我们看一下PCI-E版的对比:

上图为Tesla V100,下图为Tesla P100

PCI-E版的Tesla V100同P100相比,体积可谓是大大缩小,不仅从双槽厚度变成了单槽,PCB也从标准长度缩到了巴掌大小,比NVLink版的大不了多少。真是不知道老黄是如何做到用这么“寒酸”的被动散热压制住TDP高达300W的“性能巨兽”的,只能期待NVIDIA后续的详细介绍了。

如果不出意外,NVIDIA未来还会推出基于GV100核心的Quadro显卡,到时候不知道在外观上是否会采用Quadro GP100的涡轮式散热器,当然据吉吉我推测,可能性是很大的。

规格:晶体管数量史上之最

Volta架构的首款产品Tesla V100采用12nm FFN工艺,核心代号GV100,核心面积为惊人的815平方毫米,共包含211亿个晶体管。GV100核心共有5120个CUDA处理器,运算单元数量为80个,核心频率为1455MHz,搭载4096-bit 16GB HBM2显存,单精度浮点性能高达惊人的15 TFLOPS,双精度浮点7.5 TFLOPS,显存带宽900GB/s。

NVIDIA历代大核心计算卡参数对比

Tesla V100首次使用了TSMC的12nm FFN工艺,该工艺其实是TSMC自家16nm FFC工艺的改进版,性能是后者的1.1倍,功耗只有后者的70%,核心面积则可以缩小20%。凭借更为先进的工艺,Tesla V100的计算单元数量增加了43%,但核心面积却只增加了33%。

身材堪比Nano的Tesla V100

计算单元增加了43%,但理论单精度性能只增加了42%,这说明同Pascal相比,Volta的性能提升靠的就是计算单元的增加,而不像从Maxwell进化到Pascal那样因工艺提升频率激增而带来的性能质的飞跃。说到频率,从上表可以看出V100的频率照比P100略有下降,其可能的原因有两个,一是由于规模大幅增加,为了控制功耗而轻微降频;二是12nm FFN工艺在性能上照比成熟的16nm FinFET Plus工艺略有差距,所以频率达不到这么高的数值。

核心面积高达815平方毫米

此外,Tesla V100的二级缓存及寄存器大小也有所增加,L2缓存由Tesla P100的4MB增加到了6MB,每组SM单元的寄存器文件大小总数从14MB增加到了20MB。显存方面,使用的HBM2的位宽及容量都没变化,还是16GB 4096-bit,不过频率有所提升,带宽从前代的720GB/s提升到了900GB/s,更接近HBM 2显存1024GB/s的理论值。

架构:为AI设计的Tensor单元

从架构整体设计上看,Volta核心同Pascal和Maxwell一样,采用了6组GPC的设计,只不过是每组GPC内的SM单元呈递进式增长:Maxwell每组GPC的内部有8组SM单元,Pascal增加到10组,而最新的Volta则是增加到14组。有一点需要说明,由于单双精度比的不同,GP100核心每组SM单元内的CUDA核心数量与GP102是不同的,前者为64个,后者为128个,所以我们只看GP100。

GV100核心架构图

GV100同GP100每组SM单元内的CUDA数量一样,均为64个,而CUDA处理器的总数理应为64*14*6=5376个,但GV100核心的CUDA处理器数量为5120个,少了的256个正是因为NVIDIA关闭了4组SM单元,这一做法同GP100如出一辙。

GP100核心架构图

前面说到的64是FP32单精度运算单元数量,在单双精度单元数量比上,GV100同GP100一样为2:1,也就是说每组SM单元中有32个FP64双精度单元,理论值应为32*14*6=2688个,但由于关闭了4组SM单元,所以总数为2560个。

Tensor单元工作流程图

由于NVIDIA现在已经转型为一家AI公司,因此其GPU产品也开始着力于AI、DP等领域的优化发掘,在Pascal中NVIDIA开始强调FP16半精度,因为深度学习对精度的要求并不高,甚至FP8就够了,其更需要的是更强大的运算性能。在Volta中,NVIDIA带来了性的Tensor运算单元,该单元是继FP16和FP8后为AI设计的全新利器。其能够提供高达120 TFLOPS的超强运算性能,而且效率高且非常省电。

V100中SM单元设计

在GV100核心中,每组SM单元中包含8个Tensor单元,其能够提供高达120 TFLOPS的超强运算性能。相比于在P100的FP32单元上,Tesla V100的深度学习训练能力是前者的12倍,而相比于在P100的FP16单元的深度学习推理能力上,V100是前者的6倍。

性能:DP方面能力提升迅猛

由于Volta同Pascal相比架构仅仅是小幅改动,因此V100的理论性能提升同P100相比仅仅是规格增加而带来的,但实际运行方面,其提升还是相对可观的,尤其是人工智能和深度学习能力。首先我们来看一下在HPC运算方面的性能提升:

Volta HPC应用性能提升

官方给出了V100与P100在6款HPC应用中的性能对比,其中最低增长了42%左右,最高增长了76%左右,平均提升幅度约为50%,可见提升还是比较明显的,但我们也能看出,由于V100的频率与P100基本相当,所以实际性能并没有从M40到P100那种翻天覆地的提升。接下来我们看看Tensor单元的引入会对V100的深度学习性能带来怎样的影响:

ResNet-50深度神经网络训练任务中的速度对比

从图中可以看出,Tesla V100使用Tensor单元在ResNet-50深度神经网络训练任务中的速度是Tesla P100使用FP32单元进行运算的2.4倍;如果每张图像的目标延迟是7ms,那么Tesla V100使用Tensor核心在ResNet-50深度神经网络进行推理的速度是使用FP16单元的P100的3.7倍(参与测试的V100为原型卡)。

Tesla V100 Tensor单元和CUDA 9对GEMM运算的性能提升

矩阵-矩阵乘法运算(BLAS GEMM)是神经网络训练和推理的核心,被用来获得输入数据和权重的大型矩阵的乘积。从上图我们可以看出,相比于基于Pascal的GP100,Tesla V100中的Tensor单元把这些运算的性能最高提升了8倍多。

不同平台深度学习训练时间对比

还是得益于Tensor单元强大的实力,8路V100的深度学习训练时间仅为8路P100的三分之一左右,而双路E5 2699V4的耗时是8路V100的56倍,这种差距是非常悬殊的。

以上就是Volta架构分析的全部内容,其主要特性无非为三点:1、史上最大规模的GPU;2、首款采用12nm工艺的GPU;3、全新加入的Tensor单元让GV100的DP性能达到了史无前例的新高。在GTC 2017大会上,老黄表示NVIDIA在研发Tesla V100的过程中投入了30亿美元的巨资,这是迄今为止NVIDIA投资的最大的单个项目,比Pascal还多花了10亿刀。这30亿刀让NVIDIA整整领先了AMD一代,AMD这边甭说Navi,就连Vega也迟迟不见踪影,正是如此,NVIDIA在下半年还不准备放出消费级的Volta,就让我们期待明年初的消费级Volta吧,4K被彻底征服不是梦。