劳伦斯利弗莫尔国家实验室(LLNL)的研究人员在加速图形处理单元(GPU)上运行的复杂多物理场模拟并为其添加功能方面取得了里程碑式的进展,这一发展可以推动高性能计算和工程的发展。
随着LLNL为国家核安全局第一台百亿亿次超级计算机ElCapitan做好准备,该团队的工作重点是开发MARBL(用于GPU的下一代多物理代码)。ElCapitan基于AMD尖端的MI300A加速处理单元(APU),它将中央处理单元(CPU)与GPU和高带宽内存组合到一个封装中,从而实现更高效的资源共享。
ElCapitan的异构(CPU/GPU)计算架构,以及大多数未来超级计算机都将是异构的预期,使得像MARBL这样的多物理代码势在必行——它的目标是与任务相关的高能量密度(HED)物理,例如涉及的那些研究人员表示,在惯性约束聚变(ICF)实验和库存管理应用中,可以在各种架构中高效执行。
在《流体工程杂志》最近发表的一篇论文中,通过利用GPU(特别是ElCapitan早期访问机器中的AMDMI250XGPU)的强大功能,研究人员成功扩展了MARBL的功能,以包含对HED物理和融合建模至关重要的其他物理功能。
“本文的重点是支持多物理场,特别是聚变反应中涉及的多群辐射扩散和热核燃烧,以及所有这些与用于模拟流体的高阶有限元移动网格的耦合动议,”首席研究员罗布·里本说。
“为了在GPU上获得性能,您需要在编程、优化内核、平衡内存以及将代码转换为GPU并行代码方面做很多工作,而我们能够做到这一点。”
自2015年以来,Rieben的团队一直致力于设计可扩展、GPU加速的多物理应用程序MARBL,用于模拟HED物理实验平台,重点关注软件抽象和算法开发的同步进步,以实现GPU性能。
合著者亚历杭德罗·坎波斯(AlejandroCampos)表示,最近论文中描述的工作对于交付严重依赖大规模计算科学来回答棘手的国家安全问题的程序化任务至关重要,他补充说,该团队在扩展MARBL的能力方面面临着两个主要挑战:验证其他物理模块是否已准确实现,并确保这些新模块在下一代基于GPU的机器上运行时能够高效执行。
研究人员表示,该团队通过一些技术解决了这些挑战,例如使用预处理器求解线性系统的新算法,这些算法历来针对CPU进行了优化。LLNL应用科学计算中心(CASC)的一项突破带来了一种适用于GPU的新型预处理器,该预处理器已集成到代码中并扩大规模以供生产使用。
Rieben表示,以高性能方式将线性求解器的预处理器移植到GPU一直是一项挑战。“CASC提出了一种求解扩散方程所需的新型预处理器,该预处理器专门设计用于为GPU上的高阶方法提供高性能,使我们能够在ElCapitan等GPU机器上运行大型3D多物理场模拟。
“我们的工作是将他们的方法放入生产代码中,扩大规模,并证明它不仅在基准测试上有效,而且在我们关心的实际问题上也有效。我们采用了最新的研究,与CASC的研究人员合作,将其纳入我们的代码中,并进行了所有必要的调整,使其在多个GPU系统上表现良好,”Rieben说。
在论文中,该团队将传统的分布式CPU方法与GPU架构实现的快速计算进行了比较,并专注于开发能够有效利用GPU硬件的单指令/多数据范例的软件。该团队报告说,模拟的多物理性质引入了瓶颈,增加了任务的复杂性,如果处理不当,可能会降低整体性能和可扩展性。
研究人员表示,该团队使用性能可移植性抽象层,例如LLNL开发的RAJA可移植性套件和MFEM有限元离散化库,有助于使MARBL的单一源代码能够针对多个GPU/CPU架构。
“在本文中,我们重点关注AMDGPU,因为我们可以利用这里开发的其他开源性能可移植库,例如RAJA,”合著者TomStitt说。“虽然需要进行一些特定于AMD的更改,但数量并不多,也没有花费太多时间,因此启动我们的性能可移植性策略,这是一场胜利。”
Stitt补充说,让MARBL在LLNL当前的CPU/GPU旗舰产品Sierra上运行大约花费了员工六年的时间,而在ElCapitan早期访问系统上实现性能提高了18倍,而在ElCapitan早期访问系统上实现了大约四个月的时间。
图片来源:劳伦斯利弗莫尔国家实验室
“如果我们必须再次为这个新平台投入六年的时间,我们就不会成功;我们仍然会致力于它,”斯蒂特说。“我们的代码成功表明,RAJA可移植套件是编写可跨CPU和GPU架构以及不同GPU供应商运行的代码的非常可行的选择。”
Stitt表示,除了RAJA之外,Umpire(一种有助于缓解Sierra内存限制的编程接口)也帮助改进了ElCapitan的代码。研究人员表示,由于ElCapitan每个节点的内存是Sierra的八倍,因此研究人员将能够在单个节点上解决更大的问题,并利用AMDAPU提供的并行性。
“MI300A是AMDGPU处理器的下一代发展,因此,我们非常高兴能够使用这些资源进行模拟,”合著者AlejandroCampos说道。“我们依靠LLNL开发的各种库(例如MFEM、RAJA、Umpire等)来抽象出一些涉及性能可移植性的工作,因此,我们希望MARBL向较新处理器的过渡将能够实现尽可能简单。”
合著者AaronSkinner表示,由于架构差异,先前在基于CPU的机器上运行MARBL的方法被证明具有挑战性。认识到这些局限性后,Skinner与其他CASC研究人员合作开发了适合GPU的代码和算法增强功能,这一努力已成功使多个物理模块受益。
Skinner表示:“我们已经知道,我们需要无矩阵方法来获得GPU性能,但我们最好的线性求解器并不容易实现这种形式主义(如果有的话)。”
“通过CASC,我们花费了大量时间来实现和优化这些无矩阵方法,这些方法确实得到了回报,因为相同的线性求解器可以在许多不同类型的模块中使用,包括辐射扩散、热传导和alpha-粒子扩散。我们的方法结合使用代码优化和算法重组来提高线性求解器的性能,而线性求解器往往占据了大部分计算工作量。”
研究人员表示,MARBL的GPU加速成功代表了高性能计算的飞跃,不仅对ElCapitan,而且对整个计算科学都可能产生重大影响。
提高性能可移植性将提高灵活性,同时推进GPU加速可以更高效、准确地模拟高能量密度物理中的现实科学问题(包括激光或脉冲功率驱动的聚变能)以及航空航天和汽车工程、材料科学的代码、气候、生物应用和其他复杂现象。
“像MARBL这样的代码的性能可移植性将允许更快地提供答案的模拟,或者以前即使在最大的超级计算机上也过于昂贵而无法进行的模拟,因为它允许无缝利用不同的GPU硬件,而不需要大量的硬件-具体移植,”坎波斯说。
在论文中,团队对关键物理基准问题进行了扩展研究,以证明他们的方法在各种计算架构上的成功,展示了GPU加速在高阶有限元多物理场模拟中的潜力,并强调了其方法的多功能性和适应性。性能可移植性方法。
“事实上,我们拥有一个可以针对不同供应商的多个GPU的源代码,这确实是一件大事,”Rieben说。“在能源部实验室,我们的原则之一是我们不能被锁定到特定的供应商。这已经融入到我们开发软件的方式中,所以这对我们来说是一个巨大的胜利。就而言,这是一个巨大的乘数。能够在尽可能多的平台上运行代码。”
研究人员表示,他们能够在ElCapitan的早期访问机器上运行MARBL问题,其中集成的CPU/GPU共享单个内存空间,速度大约是Sierra的两倍,目标是达到ElCapitan的五倍或更高。先进的MI300APU,比实验室当前最快的商品技术系统提高了15至20倍。
Rieben表示,通过GPU进行更快的计算与科学发现直接相关,因为研究人员通过运行大量模拟而不是仅进行一次模拟来学习。高分辨率的快速迭代使用户能够快速解决问题,从而提高生产力。此外,ElCapitan带来的LLNL计算能力的增强将允许进行以前无法实现的更大规模的模拟,并提高模拟复杂性的标准。
“在3D中以全保真度和高分辨率快速迭代的能力对于高效发现至关重要,”Rieben说。“这是一个立竿见影的好处;人们可以更快地解决问题。因此,速度的提高直接转化为用户生产力的提高。”
“当然,它让你做的另一件事是规模,所以现在你可以以以前不会考虑的规模来考虑事情。随着时间的推移,曾经被认为是前沿的东西将变得更加普遍。”