2024-10-30 19:20:07
(原标题:一颗新芯片,颠覆CPU和GPU)
如果您希望可以时常见面,欢迎标星收藏哦~
来源:内容编译自nextplatform,谢谢。
无论计算引擎的设计多么优雅和巧妙,将现有(有时非常旧的)代码从当前运行的设备迁移到新的计算引擎的难度和成本都是采用的一大障碍。
这是一个特别高的门槛,因为不可避免的卸载方法在超级计算领域还是一种新事物,当时IBM 在美国能源部国家核安全局的支持下于 21 世纪初在洛斯阿拉莫斯国家实验室开发了“Roadrunner”超级计算机。Roadrunner 是架构方面的先驱,它让 Nvidia 和其他公司意识到,他们也可以构建具有强大计算能力的卸载引擎。
Roadrunner 的架构设计将四个 IBM “Cell” PowerXCell 浮点矢量引擎与一对 AMD Opteron X86 服务器 CPU 结合在一起,在 2008 年突破了千万亿次浮点运算的障碍,并为当今 HPC 和 AI 应用所熟悉的未来混合计算架构奠定了基础。
但没人说过这些混合设备的编程很容易,而 Roadrunner 尤其难以编程,因为它是同类产品中的首款。人们抱怨很多,需要地球上最聪明的人才能让机器完成工作。(幸运的是,洛斯阿拉莫斯拥有相当多的地球上最聪明的人。)如今,Nvidia GPU 编程相对容易,是因为 Nvidia 为创建 CUDA 编程环境和大量库、框架和算法付出了巨大的努力。
请记住:Nvidia 75% 的员工从事软件工作,即使其收入的大部分(90%、95% 还是 99.5%)来自硬件?
如果这一切都没有必要会怎样?如果你只是将 C++ 或 Fortran 代码扔给一个庞大的数据流引擎,该引擎可以为你的代码重新配置自身,并在运行时自动执行此操作,随着不同代码块的激活而不断调整和重新调整自身,会怎样?
这是 Elad Raz 和他在 NextSilicon 组建的团队的梦想,NextSilicon 本周携其第二代 Maverick-2 数据流引擎脱离隐身模式,以全新的硬件和软件方式进军 HPC 市场。
这很难相信,不是吗?这些年来,我们听说过多少具有“魔法编译器”的创新和新颖的架构?多得数不过来。但就像 HPC 市场本身一样,我们仍然希望,通过适当的抽象级别和适当的自动化,跨不同类型的计算引擎执行代码的工作可以变得更容易。也许现在是时候了。要么这样做,要么把移植代码和创建新代码的工作留给 GenAI 机器人,因为即使你每年付给他们数十万美元,世界上也没有足够的人愿意做这项非常困难的任务。
NextSilicon 成立于 2017 年,远早于 GenAI 热潮,但当时人们已经意识到 HPC 和 AI 计算引擎架构将出现分化,而且不利于专注于 64 位和 32 位浮点计算的 HPC 模拟和建模人群。即使没有像 Cerebras Systems、Graphcore、Groq、Habana Labs、Nervana Systems、SambaNova Systems 等公司那样直接进军 AI 市场的初步计划,NextSilicon 也已能够在三轮融资中筹集 2.026 亿美元,其 C 轮融资于 2021 年 6 月进行,融资金额为 1.2 亿美元。
当时,NextSilicon 的估值约为 15 亿美元,而这笔资金和原型设计工作的完成意味着美国能源部可以了解 NextSilicon 的动向。桑迪亚国家实验室和 NextSilicon 合作设计和测试了 Maverick-1 数据流引擎,桑迪亚目前正在构建一台新型架构超级计算机,绰号为“Spectra”,作为其 Vanguard-II 计划的一部分。据推测,这将使用今天发布的 Maverick-2 数据流引擎构建——桑迪亚没有透露,NextSilicon 也无权透露。我们预计 Spectra 将于 2025 年第一季度安装,届时将对 Maverick-2 芯片及其使用的系统进行更深入的研究。
拉兹可以透露的是,美国能源部和国防部正在与其合作,美国和欧洲的许多其他组织也在与其合作。
为什么我们需要另一个 HPC 加速器
对于全球的 HPC 中心来说,好消息是 Maverick-2 瞄准的是它们,而 NextSilicon 暂时不会试图追逐 AI 训练和推理市场。
“没有专门用于高性能计算的加速器,”Raz 告诉The Next Platform。“我们有数百家公司在为人工智能和机器学习做加速,大多数大型供应商都在转向人工智能机器学习。你可以看到大型超级计算机对他们意味着什么——他们只需构建一个新的 GPU 集群,这个集群的成本是原来的两倍,功耗是原来的两倍,而你得到的 FP64 浮点运算相同。NextSilicon 是一家 HPC 优先的公司。”
Raz 补充说,从长远来看,NextSilicon 将创建适合 AI 工作的计算引擎,这是有道理的,因为如果所有预测都是正确的,你就不能忽视未来几年将推动超过一半系统销售的市场。(这是Gartner 的最新看法和IDC 的最新预测,两者都是我们对其数据的改编。)
目前,NextSilicon 并未透露太多有关其所创造的计算引擎内部结构的细节,这是有意为之。该公司希望让人们首先关注其正在解决的软件问题,然后在明年年初深入研究 Maverick-2 数据流引擎内部的精确信息和速度。
“NextSilicon 的重点是使用软件来加速您的应用程序,”Raz 解释道。“其核心是一种复杂的软件算法,它可以理解代码中什么是重要的,并对其进行加速。相比之下,大多数 CPU 和 GPU 都是以某种形式排列的处理器核心组。它们正在接收指令,并试图构建复杂的管道和矢量指令集,并进行无序执行,以减少延迟。我们认为这是错误的方法。更好的方法是应用帕累托原则,看看 20% 的代码占用了 80% 的运行时间。为什么我们不对计算和内存应用 80/20 规则?为什么我们不能自动识别重要的计算内核并尝试只关注它们?”
简单的回答是,这很难,但这是 Maverick 平台的秘诀。一旦 Maverick 编译器和调度程序创建了程序中包含的数据和操作的流动图,那么蚀刻在晶体管中的数据流引擎就是它的物理表现形式。
然后 Raz 描述了秘诀:“应用程序开始在主机上运行,然后我们自动识别代码中计算密集的部分。我们停留在计算图的中间表示中。我们不会将图更改为指令。您需要将其视为硬件的即时编译器。我们保留程序的图并将其放置在数据流硬件上。我们从硬件获取遥测数据,并以递归方式进行,因此我们始终在程序运行时优化计算和内存。”
从概念上讲,这个过程就像是将运行在 CPU 主机或 GPU 加速器上的 C、C++ 或 Fortran 程序转换为 Maverick 数据流引擎。第一步是确定正在运行的程序图中 Raz 所说的“可能的流程”:
代码中的可能流和不可能流被投射到 Maverick 数据流引擎中的处理和内存元素网格上,如下所示:
当代码在数据流引擎上运行时,会识别出第一轮即时编译中的性能瓶颈,并将遥测数据传回 Maverick 编译器,以不对称的方式迭代地重新平衡流程,以创建更多“硬件”来支持可能的流程,并为不太可能的流程提供较少的“硬件”。某些类型的串行工作被卸载到 Maverick 芯片上的本地和更传统的内核,而非常繁重的串行工作则被传回主机,以便更快地运行。在这种情况下,主机 CPU 实际上是并行 Maverick 数据流引擎的卸载串行引擎。
当 Maverick 编译器完全优化了硬件配置以运行可能和不可能的流程时,系统会创建所谓的 mill 核心:
考虑到应用程序片段被卸载到数据流引擎上,mill 核心旨在尽可能多地利用数据流引擎中的资源,它们本质上是一个软件定义的核心,在运行过程中创建,以运行最可能的部分 HPC 代码来加速它们。mill 核心针对吞吐量而非延迟进行了优化,并强调功率效率而非蛮力。重要的是,mill核心可以并行运行数百或数千个数据流,它们可以跨数据流引擎复制以并行工作,就像物理设备中的真实 CPU 核心和真实 GPU 流处理器一样。因此:
当您在数百个磨机核心上复制数百到数千个数据流时,您将获得大规模并行处理,从而可以将运行时间提高几个数量级。
另一个核心思想是将工作和数据放到 Maverick 数据流引擎上,并尽可能多地保留在那里,以最大限度地减少数据移动,这是任何混合架构中的致命问题。如果你这样做,你就会得到一个可能的流、合理的流和不可能的流的分布,看起来像一座横跨三个计算层的未来摩天大楼:
很漂亮,不是吗?
这张蜘蛛图展示了 Maverick 数据流引擎的显著特点与 CPU、GPU 和 FPGA 相比如何:
其目的是获得 CPU 的灵活性、可移植性和可编程性以及比 GPU 和 FPGA 更好的功率效率和吞吐量,并牺牲可以通过 Maverick 嵌入式内核(E 内核)或主机 CPU(现在可能是 Arm 或 X86 设备)实现的单线程性能。
目前,Raz 尚未透露 Maverick-2 芯片上的 E 核心是什么,但我们几乎可以肯定它们不是英特尔同名的 Atom 启发式 E 核心,而且我们非常确定它们要么是获得许可的 Arm 核心,要么是获得许可或自主开发的 RISC-V 核心。2024 年实际上没有其他实用的选择。(这里没有人会使用 IBM 的重型 Power 核心。)
既然我们首先讨论了软件,现在我们已经彻底改变了看待世界的方式,让我们最后来看看 Maverick 2 的硬件。这东西有点怪异,但并不疯狂:
Maverick-2 芯片采用台湾半导体制造公司的 5 纳米工艺蚀刻而成,与许多初创公司、超大规模企业和云构建者一样,它们使用第三方设计芯片,通过台积电代工厂和封装合作伙伴将计算引擎运送到成品。该芯片的面积为 615 平方毫米,虽然不是光罩破坏,但也不小。
Maverick-2 总共有 32 个 E 核,在我们看来有 256 个计算元素 - 每个块有 4 个元素,一行有 4 个块,一个芯片有 16 行。
根据下面的规格表,该设备的频率为 1.5 GHz,我们假设 E 核和数据流处理元件都以相同的速度运行。(这可能并非事实。您可能希望以更快的速度运行 E 核,例如 3 GHz,以处理串行工作并将其降低。如果我们在 Maverick-2 上设计 E 核,它们的基本频率将为 1.5 GHz,运行时可加速至 3 GHz。)
从下面的规格和上面的封装图可以看出,Maverick-2 芯片有四组 HBM 内存,在本例中是 HBM3E 内存。
Maverick-2 的双芯片版本支持由 Microsoft 和 Meta Platforms 创建的开放计算加速器模块 (OAM) 外形尺寸,以便为数据中心加速器提供通用加速器插槽。英特尔和 AMD 在其加速器中使用 OAM 插槽;Nvidia 则不这样做。OAM 版本仅向外界公开总共 16 条 PCI-Express 5.0 IO 通道,而不是 32 条。
每个芯片的热设计点为 300 瓦,因此 OAM 单元的规格为 600 瓦,并且仅提供液冷版本。这是超级计算的新标准,因此没有什么大问题。
下面是显示这两种外形尺寸的概念图:
不要纠结于上图中的物理布局。我们认为它与上面显示的实际芯片图并不相同。您会注意到,每个 Maverick-2 芯片组都有一个 100 Gb/秒的 RoCE 以太网端口,用于将加速器连接在一起。
目前还不清楚 Maverick-2 设备如何连接到共享内存集群。我们预计明年年初会对此有更多了解。
Mabverick-2 芯片支持采用 OpenMP 和 Kokkos 框架的 C、C++ 和 Fortran 应用程序。Raz 表示,NextSilicon 最终将支持 Nvidia CUDA 和 AMD HIP/ROCm 环境以及流行的 AI 框架。
数据流引擎上的标量、矢量和张量单元的峰值理论性能要到 2025 年第一季度才会公布,而且 Raz 并不太看重这些数字,因为 CPU 和 GPU 在该领域还未达到其峰值性能。
“当你看到很多硬件供应商增加大量万亿次浮点运算时,峰值性能并不重要,但你无法达到它们,因为它只存在于 GEMM 中,只存在于矩阵乘法中,只有当你有本地数据时才可以达到,”Raz 说。“实际应用的关键是更有效地利用硬件,而不是增加大量无人能及的浮点运算。”
我们自己也说不出更好的答案。鉴于此,我们不会惊讶地看到 Maverick-2 芯片在矢量和张量 FP64 上达到数十万亿次浮点运算的峰值,并且在实际代码上比 GPU 更充分地利用它们。事实上,这正是 NextSilicon 成立公司所基于的理念。
NextSilicon 在其背景文件中表示,Maverick-2 的每瓦性能将比 Nvidia “Blackwell” B200 GPU 高出 4 倍。我们知道 B200 的功耗在 1,000 到 1,200 瓦之间,单个 Maverick-2 的功耗为 300 瓦,而采用 OAM 封装的一对 Maverick-2 的功耗为 600 瓦。
该文件进一步指出,在多种 HPC 模拟中,Maverick-2 的每瓦性能比 32 核英特尔“Sapphire Rapids”Xeon SP-8352Y Platinum 处理器高出 20 倍以上,后者在 AVX-512 矢量单元上的额定速度为 1.8 万亿次浮点运算,FP64 精度,功耗为 205 瓦。
但正如 Raz 指出的那样,在这种情况下,您不仅要测试 Maverick 编译器的强度及其创建和复制数据流引擎上的 mill 核心的能力,还要测试芯片的原始 FP64 和 FP32 性能。在基准测试运行时,我们需要知道的是设备在以给定速率运行时执行的总能力份额是多少,然后根据成本进行调整。
我们期待看到桑迪亚国家实验室在 Spectra 超级计算机上取得的成果。这可能非常有趣,希望它能颠覆很多事情。高性能计算需要一些爱,而不是 AI 人群的软盘。
半导体精品公众号推荐
专注半导体领域更多原创内容
关注全球半导体产业动向与趋势
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第3931内容,欢迎关注。
『半导体第一垂直媒体』
实时 专业 原创 深度
公众号ID:icbank
喜欢我们的内容就点“在看”分享给小伙伴哦
推荐阅读
文章评论
注册或登后即可发表评论
登录注册
全部评论(0)