XDA智能手机网 - 第一智能手机评述媒体
科技您的位置:首页 >科技 >

运行大规模模拟是现代科学研究的一个重要方面

发布时间:2019-06-08 10:19:57 来源:

运行大规模模拟是现代科学研究的一个重要方面,但它往往需要大量的计算资源。随着我们接近exascale计算的时代,其将以高性能超级计算机的引入为标志,研究人员一直在努力开发新的架构和代码,以满足我们时代的巨大计算要求。在为exascale计算时代开发代码时要考虑的一个重要特性是性能可移植性,这可以防止对不同体系结构的代码进行重复的,非平凡的重构。

为此,密歇根州立大学的研究人员最近开发了K-Athena,一种性能便携式磁流体动力学(MHD)代码。磁流体动力学(MHD)代码是数值技术和算法,可以帮助解决与导电流体有关的问题。研究人员的代码在arXiv上发表的一篇论文中提出,它将现有的MHD代码Athena ++与Kokkos结合在一起,后者是一种性能可移植的节点并行编程范例。

“在开发第一台亿亿级超级计算机的过程中,很明显当前的硬件架构不适合实现这一目标,并且需要新的架构,”开展这项研究的研究人员之一Philipp Grete告诉TechXplore。“从软件的角度来看,新架构通常需要对现有代码进行大量重写,以便有效地利用新的硬件功能。我们小组的研究依赖于详细的大规模模拟,我们希望准备好使用新的超级计算机在它们可用的那一刻充分发挥其潜力。“

Grete和他的同事们进行的研究的基本目标是制作他们经常在研究表现中使用的代码。换句话说,研究人员希望他们的代码使用单一代码库在许多不同的体系结构上高效运行。

“最初,K-Athena计划将Kokkos(性能可移植性库)与Athena ++(现有的CPU代码)相结合,以实现GPU加速模拟,”Grete解释道。“但是,在整个项目过程中,在观察性能时,很明显K-Athena不仅仅是一个概念验证,而且现在是一个灵活的,生产就绪的代码,可以在任何架构上运行。本文我们希望与更广泛的社区分享我们的经验和代码本身。“

K-Athena通过抽象给定模拟中计算量最大的组件来工作。在编译时(即将源代码转换为机器/硬件代码时),代码的Kokkos库将这些抽象替换为对用户使用的特定机器或硬件最佳的构造。

“这种方法不同于其他通常维护多个代码库的遗留代码,以便能够在不同的体系结构上进行仿真,例如CPU或GPU,”Grete说。“一般来说,K-Athena的关键优势在于,自然科学家现在可以专注于模拟内容本身,而不需要关注优化代码和/或为不同架构编写多个版本的源代码。后者是“外包”给与Kokkos一起工作的计算机科学家和硬件供应商。“

Grete和他的同事们进行的测试表明,K-Athena的性能可移植性确实有效。事实上,他们的代码有效地跑了第一,第九,24 日和33 次跻身在世界上最快的超级计算机,跨越四个不同的架构。研究人员还在今年早些时候正式推出的两个月后,将其应用于几乎整个Summit超级计算机(目前是世界上最快的),展示了他们的方法的可扩展性。

“从一般观点来看,我们希望我们的研究结果能够鼓励其他研究小组在其代码中探索性能可移植性,最终提高科学生产力(通过将更多时间花在科学上而不是重写/优化代码上)或建立在我们发布的代码,“格雷特说。

Grete和他的同事们进行的这项研究提供了一个有价值的例子,说明如何调整代码以满足现代时代的大型计算要求。在他们的论文中,研究人员概述了他们的实施策略以及他们在尝试最大化计算性能时遇到的挑战。他们希望他们的经验和见解能激励其他研究团队开始为亿亿时代准备他们的代码和架构。

“我们的团队普遍对许多天体物理系统中的磁化湍流和扩散等离子体感兴趣,”格雷特补充道。“我们打算使用K-Athena来模拟前所未有的细节,包括分辨率和我们可以包含的物理特性。这将使我们能够解决需要大动态尺度的未解答的问题(例如,关于空间等离子体中的能量转移)或与小规模效应有关,例如通过小型发电机进行磁场放大。“

热点推荐
随机文章