在 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 的主要设计思路有三点:软件先行、兼顾扩展、全新应用。这表明 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 能否帮助英特尔冲出重围,打下一片新的江山,我们拭目以待。