首页 生活 > 内容

矩阵卸载图形处理器增强的扩散物理求解器

时间:2024-06-26 16:51:20 来源:
导读 所有复杂的多物理场模拟背后都有更为复杂的数学算法,这些算法用于求解描述物理现象运动的方程,例如聚变反应中固有的辐射扩散和燃烧等离子...

所有复杂的多物理场模拟背后都有更为复杂的数学算法,这些算法用于求解描述物理现象运动的方程,例如聚变反应中固有的辐射扩散和燃烧等离子体过程。这些算法中通常使用预条件求解器来转换问题,以便快速准确地收敛到解决方案。

《SIAM Journal on Scientific Computing》最近发表的一篇论文介绍了专门针对在基于图形处理单元 (GPU) 的超级计算机上运行的模拟而优化的求解器。作者是来自 LLNL 应用科学计算中心的计算数学家 Tzanio Kolev,以及 Will Pazner 和 Panayot Vassilevski,他们都是前利弗莫尔研究员,目前在波特兰州立大学任职。

该团队的算法解决了 MARBL 所依赖的辐射扩散方程,MARBL 是一种任务关键型流体动力学代码,目前正在利弗莫尔即将推出的百亿亿次超级计算机 El Capitan 等 GPU 上运行。

“MARBL 的辐射扩散模型需要一种特定类型的求解器才能实现 GPU 效率。我们的算法针对这种情况进行了优化,”该论文的主要作者 Pazner 表示。

分解数学

为了加快计算速度,这些求解器将物理系统细分为有限元空间,称为 H(div)。这种离散化会增加有限元的数量,同时减小其大小 - 想象一下 3D 网格分解成越来越小的正方形,同时保持恒定的总体积。

H(div) 是一组被称为 de Rham 复合形的微分方程中的四个有限元空间之一,所有这些方程都被纳入了利弗莫尔领导的 MFEM(模块化有限元方法)软件库中。

“在整个研究过程中,我们为其他空间开发了有效的求解器,但还没有找到解决 H(div) 的最佳方法。我们知道我们可以做得更好,”Koley 说。

许多有限元都是用矩阵计算的,矩阵中的数字按行和列排列。但当矩阵太大而无法高效计算时(例如在大规模流体动力学模拟中),无矩阵算法是唯一可行的方法。

“高阶问题在 GPU 上运行的成本过高,这不仅是因为计算量大,还因为内存传输。基于矩阵的算法经常导致 GPU 出现内存瓶颈,因此我们需要提出一种算法,既能得出相同的解决方案,又能避免矩阵的处理和存储,”Pazner 说道。

尽管配备了无矩阵德拉姆求解器,但该团队仍然缺少一些东西来减轻 H(div) 的计算负担。转折点是他们决定在鞍点系统的背景下重新表述问题,鞍点系统的表面在绘制在图表上时类似于马鞍。本质上,他们将原始问题变成了两个具有不同数学结构的耦合问题。

鞍点技术可能看起来违反直觉,但随着研究人员尝试其他技术,这种技术最终脱颖而出。

“将问题重新转化为鞍点公式可以扩展原始的压缩、紧密堆积公式,”帕兹纳说。“结构变得更大,但也更易于解决。”

该团队的创新型 H(div) 求解器有效地结合了上述所有方法。“以鞍点形式看待问题使我们能够以有利的方式利用无矩阵结构,”Kolev 表示,并将这一突破归功于他的合著者。

“H(div) 是我们用户在 de Rham 工具箱中的最后一款工具。我们考虑这个问题已经很长时间了,现在我们在所有 de Rham 空间中都有最先进的方法。”

标签: