荣格工业资源APP
了解工业圈,从荣格工业资源APP开始。
在近日的AMD Advancing AI 2025 活动上,MI350 系列发布。记者George采访了AMD Instinct GPU的首席架构师Alan Smith。以下是两者之间有关MI350 系列的对话(弱相关内容已经删减):
George: MI350仍然基于GFX9 架构——给观众朋友们解释一下,GFX9也被称为Vega架构或者是其衍生架构。为什么MI350仍然采用GFX9,而客户端产品如RDNA 3和4分别采用的是GFX11和12?
Alan:这是个很好的问题。如您所知,基于前几代Instinct GPU(从 MI100 开始甚至更早,如您提到的Vega 世代)的CDNA 架构,都是 GCN(Graphics Core Next)架构。
经过数代演进,CDNA 已经针对高性能计算(HPC)和 AI 的分布式计算算法类型进行了高度优化。因此,我们认为以这个基础来开发 MI350,能够提供我们实现 MI350 系列性能目标所需的正确组件。
George:在 GCN 架构中,L1缓存和LDS(本地数据存储)是分开的。为什么MI350仍然保留这种设计?为什么没有将它们合并?
Alan:是的,正如您所说,这确实是GCN架构的一个遗留特性。它在某种程度上是计算单元(CU)构建方式的基础。因此,我们认为在这一代产品中,进行如此大规模的微架构变更并非合适的时机。我们采取的做法是增加LDS的容量。
在之前的MI300系列中,LDS 容量是64 KB,我们在MI350系列中将其容量提升到了160 KB。此外,我们还增加了LDS的带宽。我们将LDS到寄存器文件的带宽提升了一倍,以满足 MI350 系列中张量核心(Tensor Core)的运算速率需求。
George:说到张量核心,你们现在为MI350x引入了用于FP8、FP6 和 FP4数据类型的微缩放格式(microscaling formats)。有趣的是,MI350 的一个主要差异化特点是FP6的速率与FP4 相同。能谈谈这是如何实现的以及背后的原因吗?
Alan:在MI350的这个时间节点,考虑到它将进入的市场以及AI的当前发展状态,我们认为 FP6 是一种有潜力不仅用于推理(inferencing),还可能用于训练(training)的格式。因此,我们希望能够确保 MI350 的 FP6 能力相对于……其他厂商可能已经实现或将要实现的方案而言,处于业界领先水平。
您知道,硬件设计周期很长,我们在几年前就在思考这个问题,并希望确保MI350在FP6性能上具有领先优势。所以我们决定将FP6数据路径的吞吐量(throughput)设计成与FP4数据路径相同。
当然,为了实现这一点,我们不得不增加一些额外的硬件。显然,FP6 比 FP4 多了几位(bit),所以叫 FP6。但我们能够在矩阵引擎(matrix engine)的面积限制范围内,以非常高的能效和面积效率实现这一目标。
George:说到数据类型,我注意到 TF32 不在你们的硬件加速操作(ops)列表上。为什么在 MI350 中去除了这个特性?或者说,为什么它不是 MI350 的主要考虑因素?
Alan: 我们是特意去除了它。我们认为在这个时间点,BF16(brain float 16)将会是一个可被大多数模型利用以取代 TF32 的格式。并且,我们在BF16上能提供的吞吐量远高于TF32。因此,我们认为对于这个实现(MI350)来说,这是一个正确的权衡取舍。
George:如果我需要使用TF32,速度会是多少?会降到 FP32 的速度吗?
Alan:您有选择。我们提供了一些仿真方案。具体的吞吐量细节我一下子记不全,但我们确实提供了基于软件的仿真方案,可以用BF16来仿真TF32。或者,您也可以直接将数据转换为FP32格式,以FP32的速率来使用它。
George:新的计算芯片现在采用的是N3P制程工艺,但物理上每个芯片上的CU数量却从40 个减少到了36 个,并且每个着色器引擎(shader engine)有4个被熔断(fused off)了?为什么现在是32个活跃 CU?为什么要做这个缩减?
Alan:在MI300上,我们同时为MI300X(AI)和 MI300A(HPC)进行了协同设计。在MI300A 中,我们只有6个XCD。因此,当我们只有6个加速器小芯片(accelerator chiplets)时,我们希望确保有足够的计算单元来驱动传统模拟(FP64)所需的高性能计算水平,以达到我们为目标市场(领先级超级计算机)设定的性能目标。
我们确实做到了这一点,并与劳伦斯利弗莫尔国家实验室(Lawrence Livermore)一起凭借 El Capitan 超级计算机交付了当时世界上最快的超级计算机。
但我们希望每个 XCD 拥有更多的计算单元,以便在MI300A中总共达到224个CU。而在 MI350上,它是专门设计为纯加速器(accelerator only)、一个独立加速器(discrete accelerator),我们在这方面拥有更大的灵活性。
因此我们决定,让每个芯片上的活跃计算单元数量是2的幂次方——物理上有36个,如您所说,但我们启用了32个。其中4个(每个着色器引擎一个)用于冗余单元屏蔽(harvesting),我们在台积电 N3(领先技术)的大规模生产中通过熔断这些单元来保证良率(yield)。这样我们最终启用的就是32个。
这是一个很好的2的幂次方数字。如果您拥有2的幂次方数量的计算单元,张量(tensor)的切分(tiling)会更容易。您处理的大多数或许多张量都是基于2的幂次方的矩阵。因此,它允许您轻松地将它们切分到计算单元中,并减少可能出现的总拖尾效应(tail effect)。
因为如果您拥有的计算单元数量不是2的幂次方,那么张量的某部分可能无法很好地直接映射,您可能需要在最后仅使用部分计算单元来完成一些工作。所以我们发现,通过使用2的幂次方数量,可以进行一些优化。
George:新的计算芯片(XCD)采用了N3P,而 I/O 芯片(IOD)却仍在使用 N6;为什么坚持用N6?
Alan:在我们的chiplet技术中,首先,我们有选择权,采用chiplet设计提供了灵活性,可以在合适的情况下选择不同的工艺技术。
我们I/O芯片中的组件往往无法很好地随先进工艺技术扩展(scale)。例如 HBM PHY(物理层接口)、高速串行解串器(SERDES)、我们带有无限缓存(Infinity Cache)的缓存(caches)、SRAM 等,这些东西的缩放性不佳。
因此,在一个大尺寸芯片上坚持使用具有成熟良率的较旧工艺技术,使我们能够为客户提供有竞争力的产品成本和总拥有成本(TCO)价值主张。
然后,我们能够在计算单元上利用最先进的工艺技术(如 N3P),在功耗和面积缩放(power- and area-scaling)方面获得显著收益,从而实现计算单元。
George:说到缓存,除了 LDS 之外,令我感兴趣的是缓存层级(cache hierarchy)似乎没有变化。这是为什么?
Alan:如果您还记得我刚才说的,MI300是为了在HPC中提供最高性能而构建的。为了实现这一点,我们需要为双精度浮点(FP64)运算向计算单元提供显著的全局带宽(global bandwidth)。
因此,我们已经设计了无限架构(Infinity Fabric)以及 XCC(加速计算核心,Accelerated Compute Core)内部的互联架构(fabric),以提供足够的带宽来满足 MI300 中极高要求的双精度矩阵运算及其所有相关缓存层级的需求。
最终,我们能够利用MI300中已经构建好的互联能力,而无需对这些部分进行任何修改。
George:在MI350上,你们现在从四个基础芯片(base dies)减少到了两个基础芯片(IOD)。这在顶部芯片(计算芯片/XCD)的布局上实现了什么?
Alan:我们这样做是为了增加来自全局HBM的带宽。MI300是为HBM3设计的,而MI350是专门为HBM3E设计的。因此我们希望将速率从5.2或5.6 Gbps 提升到完整的8 Gbps。
但同时,我们希望以尽可能低的功耗来实现这一点。因为以最低的每比特能耗(energy per bit)将数据从HBM 传输到计算核心,意味着在固定的 GPU 功耗水平下能将更多的功率用于实际计算。
因此,对于那些带宽受限(bandwidth-bound)且包含计算元素的内核(kernel),通过减少数据传输所消耗的功率,我们可以将更多功率投入到计算中,从而为这些内核提供更高的性能。
我们将那两个(I/O)芯片合并为一个的设计,能够加宽芯片内部的互连总线(buses);这样每个时钟周期能传输更多字节(bytes),因此我们可以在更低的频率和更低的电压下运行它们,这带来了电压平方(V-squared)的功耗缩放收益(用于传输这些比特所需的功耗)。这就是原因。
George:说到功耗,MI350x是1000瓦,而MI355x是1400瓦。在考虑这40%的功耗提升时,除了冷却系统本身,还需要考虑哪些不同的散热因素?特别是如何确保各个小芯片保持在耐受范围内?
Alan:当我们进行这些芯片的总功率和散热架构设计时,我们会考虑从主板一直到子板,在这个案例中就是 UBB(通用基板)和 OAM模块,然后向上穿过 CoWoS(基板上晶圆上芯片,Chip on Wafer on Substrate)堆叠、位于中间层的 I/O 芯片,再到位于它们之上的计算芯片。
我们需要审视整个堆叠的总热密度、堆叠内部的热传导能力或热阻,以及为了在其顶部构建散热系统所需的导热界面材料。
因此,我们为 MI350 系列提供了两种不同级别的散热解决方案。一种是风冷,如您所提及。另一种是直接接触式液冷。在液冷的情况下,冷板(cold plate)会直接附着在芯片顶部的导热界面材料上。
我们对整个堆叠进行热建模,并直接与所有技术合作伙伴协作,确保我们设计在芯片中的功率密度能够被整个热堆叠所处理。
资讯来源:
https://chipsandcheese.com/p/amds-freshly-baked-mi350-an-interview
*声明:本文系原作者创作。文章内容系其个人观点,我方转载仅为分享与讨论,不代表我方赞成或认同,如有异议,请联系后台。