射月之旅:深度解析英特尔Xe GPU架构
8月19日,英特尔举办了一年一度的架构日(Intel Architecture Day 2021)。在这场两个多小时的活动里,英特尔详细分享了包括Alder Lake SoC, Sapphire Rapids、Xe HPG GPU、Ponte Vecchio、Mount Evans等一系列芯片和系统的架构细节,同时也深入介绍了包括AMX、XeSS、oneAPI等指令集和软件框架的最新进展。
从2018年英特尔第一次举办架构日至今,它都是我每年必追的重要技术活动,因为它能从架构师的视角,带我们深入探究这些驱动下一代技术革新的最新进展,而不只是单纯的进行产品发布,这也能极大地帮助我们提升视野,并从中看清未来技术发展的大方向。
总体来说,这次的架构日发布的11个技术内容可以分成三个大类,分别是客户端CPU、数据中心、以及GPU。在之前的两篇文章中,我们聊了客户端CPU Alder Lake、最新的能效核与性能核混合架构,以及数据中心CPU Sapphire Rapids和IPU Mount Evans。
这篇文章我们一起来看这次披露的GPU产品线细节,包括最新的独立显卡、以及高性能GPU Ponte Vecchio。我用思维导图的形式,总结了本文涉及的全部技术要点,请在公众号后台回复“架构日”获取。
1、Xe – 异构计算矩阵的最后一块拼图
在去年的架构日活动里,英特尔正式发布了名为Xe的GPU架构。和之前的集成GPU不同,Xe更多是一个基础架构,并可由此衍生出多种针对不同应用领域和场景的GPU产品。
目前基于Xe架构的产品主要有四类,分别是主打集成显卡和入门级独显的XeLP、针对游戏和桌面性能进行优化的Xe HPG、主要用于数据中心和AI应用的Xe HP,还有面向高性能计算的Xe HPC。Xe的出现,正式宣告英特尔进军高性能GPU领域,也完成了英特尔对Scalar(CPU)、Vector(GPU)、Matrix(ASIC)、Spatial(FPGA)四大计算类型的芯片全覆盖。
在去年的架构日里,Raja曾经多次强调,希望使用相同的软件栈、相同的微架构设计,实现多个Xe产品的快速扩展。这表明Xe并非是作为一个孤立的产品出现,而是会结合英特尔完整的硬件产品组合,以及统一的软件开发环境而协同设计。这种高度重视扩展性的架构设计思路,也在今年的架构日发布里得到了充分的延续。
2、Xe HPG 微架构
顾名思义,Xe HPG就是针对高性能游戏应用进行深度优化的独立显卡微架构,它就是一个可扩展设计的典型例子。首先,它的基本组成单元叫做Xe-core,也就是Xe内核。每个Xe内核包含16个矢量引擎和16个矩阵引擎,前者主要用来计算浮点或者整型运算,后者主要用来加速AI应用中常见的卷积和矩阵运算。
四个Xe内核可以组成一个名叫“Render slice”的单元,中文可翻译成渲染切片。这个单元在Xe内核的基础上增加了针对DX12 Ultimate的优化、用来做实时3D渲染的硬件,以及4个光追模块。
再往上,最高8个渲染切片可以共享二级缓存并连接在一起,就组成了Xe HPG的主要计算微架构。
根据英特尔的数据,Xe HPG在同等电压下的频率是XeLP独显的1.5倍,同时每瓦性能也比XeLP提升1.5倍。
采用Xe HPG架构的GPU产品代号为Alchemist,可能大家更熟悉之前的代号DG2。值得注意的是,英特尔也正式官宣,Alchemist将采用台积电的N6、也就是6纳米工艺进行代工。当然这一点我们在去年就已经知道了。
英特尔还发布了一个新的品牌名称Intel Arc,中文名叫英特尔锐炫,Alchemist将是这个品牌的第一款产品,并计划于2022年第一季度上市。另外很有意思的是,英特尔还公布了Xe HPG接下来三款的代号,分别是Battlemage、Celestial、Druid。他们不仅首字母按字母表排列,还分别代表游戏和漫画里的某一种角色或者职业,比如Alchemist是炼金术师,Battlemage是战斗法师,Celestial是天神,Druid是德鲁伊。照这种思路,第五代产品或许会叫Elf吧……
3、XeSS
除了硬件架构的创新之外,Xe HPG的软件架构也进行了重构,特别是驱动、API、还有对各种游戏引擎更优的支持。除此之外,英特尔还推出了一个名叫XeSS的技术,全名叫做Xe Super Sampling,也就是Xe超采样技术。它的本质就是使用深度学习来合成非常接近原生高分辨率的图像,同时兼顾渲染性能。也就是说,XeSS可以从相邻像素或者对前一帧进行运动补偿,来重建当前的像素细节,并且得到高分辨率的画面。
在英特尔公布的渲染动画里,通过XeSS技术重建的4k分辨率动画,和原生的4k动画,用肉眼很难看出区别,但前者可大大减少渲染时间,并且提升帧率。
此外英特尔还提到,XeSS可以使用DP4a指令,在多种硬件平台上提供这种基于AI的超采样,这些硬件平台可以是集成显卡,也可以是竞争对手的显卡。所以理论上,只要AMD或者英伟达的显卡支持DP4a指令,比如AMD的RDNA2架构,就可使用XeSS技术。另外英特尔也会把XeSS工具和SDK进行开源。这种开放的态度,应该也是开发者和用户希望看到的。
4、集大成者 – Ponte Vecchio
这次架构日的压轴大戏,就是针对AI和高性能计算领域特别设计的Xe HPC架构,以及它的首款产品Ponte Vecchio。
Xe HPC的基本组成单元也叫做Xe内核,但它和前面介绍的、面向游戏应用的HPG内核有着显著区别。这里所指的Xe内核也由向量引擎和矩阵引擎组成,从数量上看少于HPG,每个引擎只有八个,但每个引擎的宽度和深度都有大幅提升。比如相比HPG,浮点和整形运算的向量引擎位宽增长至2倍,达到512位;矩阵引擎的位宽增长至4倍,达到4096位。每个内核还有512KB的一级缓存,看到这个数据我就很惊,因为我不记得之前看过这么大的一级缓存。而且这个一级缓存可以通过软件直接配置,就像我们在CPU和FPGA设计里经常会用到的scratch pad寄存器一样,非常灵活,只不过这里的L1 cache要比传统寄存器大很多,所以可以缓存的数据量也要大得多。
再往上,16个Xe HPC内核可以组成一个切片,也就是slice,它包含8MB一级缓存、16个光追单元。在这个结构层级的最上层是stack,也就是堆栈,它由4个切片组成,并且由更大容量的二级缓存联系起来,同时还包含4个HBM2e控制器、8个Xe链路等等。
说到这个Xe链路,也是这次提出的一个创新接口技术,它除了传统的串行收发器之外,还内嵌了一个交换单元,可连接高达8个GPU,这些GPU再通过EMIB封装技术集成在一个芯片里,这就是对芯片性能进行线性扩展的基础。
Ponte Vecchio就是上面列举的所有创新技术的集大成者。事实上,它在一块芯片里集成了很多全新的技术,除了前面说的微架构、IO、互联、存储、封装等技术之外,还有混合工艺的集成、新的设计方法学、验证方法学、功率控制、信号一致性控制、可靠性设计、以及软件架构设计等等。毫不夸张的说,它也是我目前看到的异构程度与复杂度最高的芯片之一。
根据英特尔的介绍,Ponte Vecchio将包含超过1000亿个晶体管,采用5种半导体工艺,包含了47个不同功能的子芯片(Tile),并通过EMIB和Foveros 3D封装技术组合堆叠在一起。
比如它的计算单元采用了台积电的5纳米工艺、并且位于芯片顶层;基础结构使用Intel 7工艺,它是一个巨大的640平方毫米的基础芯片,包含了各种接口单元和二级缓存,可以在水平和垂直的三维空间里做高速互连和高吞吐量交换。前面说的Xe链路单元,使用台积电N7工艺制造,可提供90G的Serdes带宽。
根据英特尔的数据,Ponte Vecchio的A0版芯片可以提供超过45TFLOPS的FP32吞吐量、高于5TBps的内存带宽,以及超过2TBps的连接带宽。使用Ponte Vecchio可以实现超过每秒43000张图片的ResNet推理性能,以及每秒超过3400张图片的ResNet训练性能。
四个Ponte Vecchio还可以组成一个更大的计算板卡,并且结合两个Sapphire Rapids CPU和傲腾存储单元组成一个完整的计算节点,用户可以使用oneAPI对CPU和GPU直接编程。这种架构也将被用于美国阿贡实验室的Aurora超级计算机项目。
5、统一编程模型:oneAPI
最后再简单介绍一下oneAPI。可以说它是异构计算时代的必然产物,因为人们需要一个一个跨架构、跨厂商的开放编程模型,来对各种不同的芯片和硬件进行编程,这个也是oneAPI最大的愿景。
通过oneAPI这种统一的编程模型,就能极大地减轻开发人员的负担,特别是软件和算法工程师的负担。因为他们不用太过于关心底层架构的细节,甚至不需要知道算法究竟是CPU还是GPU还是FPGA实现的,只需要专注于算法本身的创新就可以了。
oneAPI的主要实现语言叫Data Parallel C++,除了英特尔自己的CPU和GPU之外,英伟达GPU、AMD GPU和ARM CPU都有相应的oneAPI库,以及对Data Parallel C++的支持。而且oneAPI已经开源,并获得了很多开发者的采用和支持。
总结
Xe 从发布至今,就一直是业界关注的重点。它是英特尔异构计算矩阵的最后一块拼图,它不仅有之前发布的移动端和桌面端产品,还在继续扩展到本次架构日上公布的游戏、数据中心、高性能计算等更多领域。Ponte Vecchio更是这次Xe架构和英特尔各种软硬件技术的集大成者,有望将英特尔高性能计算的算力输出水平提升到一个全新的层次,因此英特尔将其称之为moonshot和tour-de-force,也就是杰作和壮举。当然Ponte Vecchio的实际表现,应该也不愧于这个称号。
更多芯片技术解读和资料分享,并与老石一对一交流,欢迎加入知识星球:“老石谈芯-进阶版”,一个关乎技术与观点的互动社区