Stencil Computations on Cerebras Wafer-Scale Engine
本文介绍了 CStencil,这是一个将二维模板计算成功映射到 Cerebras 晶圆级引擎(WSE-3)的框架,该框架通过利用芯片的大规模片上内存和网格互连来克服传统内存瓶颈,相较于经过适配的 GPU 基线实现了高达 342 倍的加速。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在尝试拼凑一个巨大而复杂的拼图,其中每一块碎片都依赖于与其相邻的碎片。在科学领域,这被称为** stencil 计算**(模板计算)。它是用于模拟诸如热量如何在金属板上扩散、气流如何绕过飞机、或气候模式如何在数十年间演变等过程的数学方法。
在过去十年中,解决这些拼图的最佳工具一直是GPU(图形处理器,即显卡和超级计算机中的强大芯片)。但存在一个问题:GPU 就像一支速度极快的卡车车队,必须往返于遥远的仓库(主内存)以取回拼图的每一块碎片。尽管卡车速度很快,但它们大部分时间都因交通拥堵而停滞,等待仓库的货物。这被称为“内存墙”。
新挑战者:Cerebras 晶圆级引擎
接下来登场的是Cerebras 晶圆级引擎(WSE-3)。与其说是卡车车队,不如想象一个建在单块巨型硅片(整片晶圆)上的庞大工厂车间。在这个车间里,有90 万名微型工人(处理器),而每位工人旁边都放着他们自己的个人工具箱(内存)。他们无需驱车前往仓库;只需将便条传递给紧邻的邻居即可。
这篇论文提出了一个简单的问题:我们能否利用这座为人工智能设计的工厂,比传统的 GPU 卡车更快地解决这些科学拼图?
实验:CStencil 与 ConvStencil
为了找到答案,研究人员构建了一个名为CStencil的新程序,在 Cerebras 工厂上运行。他们将其与当前 GPU 领域的黄金标准程序ConvStencil进行了对比。
为了确保比赛公平,他们不得不略微调整规则。Cerebras 工厂针对“快速粗略估算”(低精度数学)进行了优化,而科学模拟通常需要“高精度计算”(双精度)。由于 Cerebras 在处理双精度方面表现不佳,研究人员对 GPU 程序进行了调整,使其以单精度运行,与 Cerebras 芯片保持一致,从而实现公平比较。
实施方法:“光环”交换
这些拼图的棘手之处在于边缘。当网格中间的工人更新他们的碎片时,他们需要知道邻居在做什么。
- 在 GPU 上:工人必须向中央仓库大声呼喊以获取邻居的数据。这需要时间。
- 在 Cerebras 上:工人直接将便条传递给站在旁边的人。
研究人员必须教导 Cerebras 工人采用两种不同的传递便条方式:
- 星形模式:仅向正北、正南、正东和正西的四人传递便条。
- 方框模式:向四个直接邻居以及站在对角线上的四人传递便条。由于工人只能与直接邻居交谈,他们必须使用“中继”系统:将对角线便条传递给邻居,再由邻居传递给对角线上的朋友。
结果:巨大的胜利
结果令人震惊。
- 速度:在测试的最大规模拼图中,Cerebras 芯片比 GPU 快342 倍。
- 原因:GPU 被困在交通中(等待内存)。而 Cerebras 芯片从未离开过工厂车间。由于每位工人旁边都有各自的内存,他们可以像大脑思考一样快速计算,无需等待任何配送。
- 扩展性:随着拼图变大,GPU 因交通恶化而变慢。而 Cerebras 芯片则变得更快(或保持同样快),因为它只是在工厂车间增加了更多工人,且所有工人都完美协作。
局限性:编程难度大
论文承认,虽然 Cerebras 芯片是速度恶魔,但驾驭它要困难得多。
- GPU:你可以使用高级工具(如 CUDA),它们会自动处理交通问题。这就像驾驶自动挡汽车。
- Cerebras:你必须手动告诉每一位工人何时传递便条、何时开始计算。这就像指挥一支拥有 90 万名音乐家的乐团,你必须精确指示每个人何时鼓掌。如果出错,整个系统就会停止。
结论
这篇论文证明,专为人工智能(热衷于在邻居间传递数据)构建的硬件,可以被重新用于解决传统科学问题。对于气候建模或流体动力学等大规模模拟,Cerebras 晶圆级引擎提供了一条突破多年来阻碍超级计算机发展的“内存墙”的途径,实现了前所未有的速度。然而,在编程工具变得更加易用之前,它仍将是专家专用的工具,而非日常计算机的替代品。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。