(原标题:神秘不再 NVIDIA下一代GPU架构Pascal初探)
在两年前的2014 GTC大会上,NVIDIA更新了该公司的产品路线图,Maxwell架构原定的接班人从Volta更新为Pascal(帕斯卡),后者将采用3D内存技术,拥有Terabyte/s级别的内存带宽以及崭新的NVLink总线技术,对于许多一直关注GPU技术的人士来说,这些新技术无疑让人十分振奋的。
Pascal是NVIDIA引入GPU计算后的第五代GPU架构,但是按照NVIDIA自己总的架构代数划分,则属于第十一代,而对消费者而言,最简单的描述就是:这是他们即将就能买到的新显卡。
在 4 月 6 日召开的NVIDIA GTC2016 上,NVIDIA CEO黄仁勋进行的主题演讲首次向公众公布了基于Pascal的两款 GPU:Tesla P100和架构名尚不清楚的中端版Pascal。
其中,Tesla P100作为旗舰级产品,具备了Pascal架构的所有特性:
极高的性能:针对HPC、深度计算以及甚多GPU的应用场合
NVLink:NVIDIA独家的新高速总线,专门用于GPU的高速互连
HBM2:目前最快、容量最高的堆叠式内存技术
统一内存和计算抢占:可以显著改进编程模型
16 纳米 FinFET(鳍式场效应管)制程:可以让Pascal实现更多的特性、更快的性能以及改善能效比
全面提升的Pascal GP100微架构
按照目前的资料看,GP100是Tesla P100的微架构代号,这样的区分在过往并未出现过,例如GM200微架构对应的GPU加速器就没有Tesla M200这样的说法,出现这样的区分,也许是因为NVIDIA从这一代产品开始将GPU计算产品看做一个非常严肃(赚钱?)的产品看待。
事实上,“GPU加速器”这样的称呼也是首次在这次大会上频繁出现,NVIDIA不断提“加速器”的说法,其目的就是希望突出产品的计算性能而不再仅仅是图形处理器。
解读完名字后,就让我们进入干货阶段吧。
NVIDIA的GPU计算产品被称作Tesla,这是从第一代针对GPU计算的 G80(Tesla 8,当时的GPU微架构也叫Tesla)开始,NVIDIA将传统微架构意义上的内核称作 streaming multiprocessor,简称SM,SM对来自并行运行的众多线程的指令进行创建、管理、调度和执行,而“内核”这个称呼则被NVIDIA用作 SIMD 中单个处理单元,GPU厂商的这些术语即使到现在对许多业内人士来说也都是有点混乱的。
从计算的角度,SM虽然已经算是一个内核,当时从图形处理的角度,它只负责可编程计算部分,缺乏一些图形渲染的固定功能硬件,例如三角形 Setup(设置)、Tessellation(镶嵌)、纹理等单元。
NVIDIA将若干SM组织为一个被称作GPC(图形处理簇,更早的时候被称作 TPC,纹理处理簇,因为那时候还没在这个层级上引入硬件几何处理单元),GP100拥有10个GPC,每个GPC拥有6个SM,合计有60个SM,每个SM拥有64个CUDA Core(或者说64路SIMD)和16个纹理单元,所以CUDA Core一共有3840个,纹理单元有240个。
虽然GP100足本版本是3840 Cuda Core,或者说60个SM,NVIDIA公布的Tesla P100却只有3584 Cuda Core(56 个SM),这意味着至少第一波的Tesla P100是非足本的,有4个SM被保留作为冗余以提升产能。
内存带宽方面由于引入了HBM2,峰值带宽为720GB/s,这离HBM2的 1TB/s 略有差距,但是依然达到了Tesla M40的三倍。