深度解析英特尔Xe GPU:性能的极致扩展
点击蓝字,关注老石谈芯
在8月中旬结束的英特尔2020架构日活动里,英特尔发布了包括Tiger Lake SoC、Xe GPU、SuperFin晶体管工艺、FPGA路线图、oneAPI框架等一系列最新的技术进展。这些技术和产品涵盖了工艺、架构、存储、互连、安全、软件六大层面,这也是英特尔首席架构师Raja Koduri一直在主推的英特尔全栈式软硬件架构。
Xe GPU是英特尔近年来重点研发的下一代GPU架构。和英特尔之前的集成GPU不同,Xe更多的是一个基础GPU架构,由此可以衍生出多种针对不同应用领域和场景的GPU产品。这次正式发布的Xe GPU产品系列,从主打集成显卡和入门级独立显卡的XeLP,到针对游戏和桌面性能进行优化的Xe HPG,再到主要应用于数据中心和AI的Xe HP,然后还有面向高性能计算的Xe HPC,一共四大系列。
特别值得注意的是,这四类Xe GPU将使用不同的半导体制作工艺进行流片生产,其中不仅包含英特尔自家的10纳米工艺,以及这次发布的下一代10纳米SuperFin工艺,还包含了来自其他代工厂的工艺。虽然在发布会上没有直接点名,但台积电以6纳米工艺拿下英特尔数十万片芯片订单的消息,早就是公开的“秘密”了。
在今年的HotChips大会上,英特尔对Xe架构进行了深入介绍。可以看到,Xe GPU毫无疑问被英特尔寄予厚望。Xe的出现,正式宣布英特尔进军高性能GPU领域,也完成了英特尔的Scalar(CPU)、Vector(GPU)、Matrix(ASIC)、Spatial(FPGA)四大计算类型的芯片全覆盖。
在这篇文章中,我将从硬件架构、软件堆栈、应用场景等领域对Xe GPU进行深入的技术解析。我用思维导图的形式,总结了本文涉及的全部技术要点。完整版的思维导图,可以在公众号里回复“xe”获取。思维导图以及英特尔Xe在HotChips2020的演讲幻灯片,均已上传至知识星球“老石谈芯 – 进阶版”,请在文末扫码进入星球查看。
Xe架构的主要特点
Xe的主要设计思路有三点:软件先行、兼顾扩展、全新应用。这表明Xe并非是作为一个孤立的产品出现,而是会结合英特尔完整的硬件产品组合、以及统一的软件开发环境而协同设计。Raja多次强调,希望使用相同的软件栈、相同的微架构设计,实现多个Xe产品的快速扩展,这在后面的文章中也会多次提及。
Xe的主体架构基于Slice实现,最多有6个subSlice,共计高达96个EU(Execution Unit),能提供每周期1536次浮点运算。
和英特尔的前一代集显相比,XeLP几乎重新设计了自身的微架构,特别是最基本的运算执行单元EU。XeLP的EU架构示意图如下所示。
在英特尔的第11代集显中,每个EU里包含8个用来进行算术运算的流水线。为了得到更高的算术运算性能,XeLP将EU里的算术运算流水线扩展了一倍,达到16条。这些算术运算流水线可以执行定点数、单精度浮点数和双精度浮点数运算,以及复杂数学运算和可选的矩阵运算的扩展。每条流水线的宽度都比上一代得到了增加,从而将INT16和INT32的性能提升了一倍。事实上,为了简化实现过程,XeLP将上一代集显的两个EU单元合并在一起,并共用一个线程管理模块。
在存储系统方面,XeLP重新设计了L1 Cache,并将L3 Cache的容量提升到了16MB。此外还将显卡内存的带宽增加了一倍。
XeLP的游戏性能
XeLP主要的市场定位是集成显卡以及入门级独立显卡。即便如此,XeLP也对游戏性能进行了针对性的优化。下面就是一些在XeLP上运行的游戏截图,例如,XeLP可以支持战地5在1080p、30FPS和特效全开时的流畅运行。
在具体的优化方面,首先就是在保持相同性能的前提下,大幅降低了功耗。例如,下图展示了在运行战地1的时候,英特尔前一代GPU和XeLP的画面和功耗对比。可以看到,在画质相似的情况下,前一代GPU的功耗为25瓦,而XeLP仅为15瓦。此外,XeLP还对帧率进行了提升,这也能很大程度上避免掉帧,使得画质表现更为细腻,在下图中坦克的履带部分也能较为明显的看出来。
正因如此,在相同功耗条件下,XeLP可以在保证稳定帧数的同时,带来更高质量的画面效果。下图就对比了前一代GPU和XeLP的画面渲染能力和画质。可以看到,XeLP的细节表现能力要远超于前一代GPU,比如对阴影部分和车体细节的刻画等等。
在跑分方面,和同级别的英伟达GeForce MX350、以及AMD的Vega8相比,XeLP GPU跑出了更高的评分,见下表:
值得注意的是,这里参与跑分的是集成在Tiger Lake里的集成Xe GPU,但它的跑分竟稍微超过了英伟达的独立显卡MX350。要知道,后者不仅有更高的频率,还有2GB的GDDR5显存。这也从另外一个角度印证了Xe的性能潜力。
对AI运算的优化
在英特尔最新的Tiger Lake架构中,包含了名为Willow Core的全新CPU内核单元,以及XeLP的集显版本。关于Tiger Lake和Willow Core的详细技术解读,将会在下篇文章里进行深入介绍。这里想提到的是,Tiger Lake里的XeLP还对AI运算进行了一定的架构优化。当结合OpenVINO工具包和英特尔的DL Boost技术时,就可以大幅提升AI推断的算力。如下图所示,当运行Gigapixel AI进行图像增强时,XeLP和前两代GPU相比取得了指数级的算力提升。
对多媒体和显示的优化
XeLP对于多媒体和显示方面的优化,主要的受众就是广大的视频和图像内容创作者。这方面的优化主要有三个主要方向,即提供更多的像素、更多色彩、以及更低的功耗。
具体来说,XeLP里集成了多媒体引擎(Media Engine),它支持4K/8K60帧视频、Dolby视界HDR等一系列超高清视频标准,在编解码吞吐量上达到了最高2倍的性能提升。
在XeLP的显示引擎(Display Engine)里,集成了4条像素处理流水线,使得XeLP支持包括DisplayPort1.4、HDMI2.0、USB4 Type-C等多种视频接口,以及8K UHD、HDR10和杜比视界等多种超高清视频的播放。
关于多媒体引擎和显示引擎的具体架构细节,可以参见Xe在HotChips2020上的幻灯片,已上传至知识星球。
Xe GPU的软件堆栈
Xe作为一个全新的GPU产品系列,它的一个主要优化重点就在于软件系统的设计。它的设计重心,就是为现在和未来的Xe架构使用统一的驱动协议栈,这与英特尔oneAPI的核心思想是一致的。oneAPI是英特尔在软件层面最大的雄心,关于oneAPI的更多内容,可以看一下老石之前的文章《oneAPI:天下大同》。
相比之前的集成显卡系列,Xe GPU对软件驱动的架构做了很多大刀阔斧的改变。其中最主要的有三点:更高效的编译器、全新的DirectX11驱动,以及GPU Profile(见下图)。此外,Xe还支持对特定游戏的针对性优化,名为Instant Game Tuning。这种优化方式会自动进行,不需要进行额外的驱动更新。
Xe GPU的产品系列和制造工艺
前面介绍的XeLP,主要将作为TigerLake SoC里的集成GPU面向市场。但除此之外,XeLP还有其他两种产品形式,一个称为DG1,另一个称为SG1。其中,DG1是英特尔的首个独立显卡产品,它主要面向的是基于移动平台的视频和图像内容创作者。SG1是另一个基于XeLP架构的独立显卡产品,它主要面向的则是数据中心里的多媒体内容处理和相关应用。
对于数据中心更广阔的应用场景,Xe有一款名为XeHP的GPU产品专门负责。和XeLP相比,XeHP在微架构上专门为数据中心做了优化,以提升GPU的整体性能。例如,XeHP的EU数量,从XeLP的几十个,直接增加到上千个;运行频率比XeLP上升两倍;显存带宽和IPC也比集成显卡提升10倍,等等。此外,XeHP还特别设计了数学运算单元,比如增强了对双精度浮点数和AI相关的数学运算的硬件支持。
更有意思的是,XeHP还能通过直接增加Tile的数量,实现性能的线性增长。例如,XeHP目前有三种封装形式,分别包含了1个、2个和4个Tile,其中每个Tile就是一个完整的Xe GPU子芯片。
从下面的实验室测试实例可以看到,当增加Tile的数量时,芯片的FP32峰值算力从10TFLOPS,线性上升到21TFLOPS和42TFLOPS。
这种线性扩展的最大优势在于,在一次性完成单个Tile的软硬件设计之后,直接通过增加Tile的数量就可以成倍提升性能,而无需对软硬件做出改变或重新设计。事实上,这样的线性扩展并没有看起来这么直接,这其中涉及了诸如芯片封装、互连、软硬件架构的扩展性设计等很多方面的内容。这和英特尔FPGA里使用的,通过EMIB和AIB技术将FPGA的可编程逻辑阵列与不同收发器模块进行互连,有着异曲同工之妙。
Xe的第三个产品大类,名为XeHPG,它专门针对游戏和高性能桌面应用进行了优化,比如增加了光线追踪(Ray-Tracing)的硬件支持等等。XeHPG预计2021年正式出货。
Xe的最后一个产品系列,就是代号为Ponte Vecchio的XeHPC,它主要面向高性能计算、超级计算机等领域进行优化和设计。
前不久英特尔宣布,自家的7纳米工艺遇到问题,并将投产时间推迟到2022年,这也造成了英特尔股价暴跌近20%。随后英特尔宣布,会考虑和其他芯片代工厂合作,并外包部分芯片产品。正如本文开头提到的,台积电随后获得了英特尔的18万片6纳米芯片订单。
这些订单中的很大一部分,就来自Xe GPU系列。在本次发布会上,英特尔表示将会把XeHPG和HeHPC的一部分芯片使用“外部”工艺进行生产,如下图所示。相信这势必会加速Xe GPU的面世时间。
相比之下,XeLP会使用英特尔10纳米SuperFin工艺生产,XeHP会使用增强的SuperFin工艺生产。值得注意的是,最高端的XeHPC将使用英特尔的Foveros 3D封装技术,以及CO-EMIB互连技术,并采用四种不同的生产工艺,以针对不同的细分领域进行优化。
从Xe最初的传言至今,Xe的发展和动态一直是业界关心的重点。Xe GPU的出现,从多个维度补充了英特尔当前缺失的多个产品拼图。首先,它正式宣告英特尔进军高性能GPU领域,并将触角一次性伸向移动端、桌面端、游戏、数据中心、高性能计算等多个领域。此外,Xe GPU将作为英特尔“向量计算”的代表性产品,进一步补全了英特尔的AI产品组合,如下图所示。
从架构和技术的角度,Xe采用了一种通用的微架构,并在此基础上实现了多个系列的演变和快速扩展。这非常符合当前领域细分的芯片设计大趋势,根据现有的跑分和演示来看,Xe和其他竞争对手相比,也有着很强的竞争优势。那么究竟Xe能否帮助英特尔冲出重围,打下一片新的江山,我们拭目以待。
Xe GPU的完整版思维导图,可以在公众号里回复“xe”获取。思维导图以及英特尔Xe在HotChips2020的演讲幻灯片,均已上传至知识星球“老石谈芯 – 进阶版”,请在文末扫码进入星球查看。
(注:本文图片来自Intel。本文仅代表作者个人观点,与任职单位无关。)
更多芯片与FPGA技术解读,欢迎加入知识星球:“老石谈芯-进阶版”,一个关乎技术与观点的互动社区。