论文标题
exascale的平滑粒子流体动力学迷你应用
A Smoothed Particle Hydrodynamics Mini-App for Exascale
论文作者
论文摘要
平滑的颗粒流体动力学(SPH)是一种基于粒子的无网状,拉格朗日方法,用于模拟具有任意几何形状的多维流体,最常见于天体物理学,宇宙学和计算流体流体 - 动力学(CFD)。可以预期,这些计算数值模拟将从新兴的Exascale计算基础架构中显着受益,这些基础架构将执行10 18 flop/s。在这项工作中,我们回顾了新型SPH-EXA Mini-App的状态,这是天体物理学,流体动力学和计算机科学领域之间的跨学科共同设计项目的结果,其目标是使SPH模拟能够在Exascale Systems上运行。 SPH-EXA迷你APP合并了三个最先进的父型SPH代码(即Changa,Sph-Flow,Sphynx)的主要特征与最先进的(平行)编程,优化和并行化方法。提出的SPH-EXA Mini-App是C ++ 14轻质且灵活的仅标头代码,而没有外部软件依赖性。并行性通过多个编程模型表示,该模型可以在汇编时间选择或不带有加速器支持,以进行混合过程+线程+螺纹+加速器配置。在生产超级计算机上进行的强和弱尺度实验表明,SPH-EXA Mini-App可以在2,048个混合CPU-GPU节点上有效地使用2.67亿个颗粒和高达650亿个颗粒进行有效执行。
The Smoothed Particles Hydrodynamics (SPH) is a particle-based, meshfree, Lagrangian method used to simulate multidimensional fluids with arbitrary geometries, most commonly employed in astrophysics, cosmology, and computational fluid-dynamics (CFD). It is expected that these computationally-demanding numerical simulations will significantly benefit from the up-and-coming Exascale computing infrastructures, that will perform 10 18 FLOP/s. In this work, we review the status of a novel SPH-EXA mini-app, which is the result of an interdisciplinary co-design project between the fields of astrophysics, fluid dynamics and computer science, whose goal is to enable SPH simulations to run on Exascale systems. The SPH-EXA mini-app merges the main characteristics of three state-of-the-art parent SPH codes (namely ChaNGa, SPH-flow, SPHYNX) with state-of-the-art (parallel) programming, optimization, and parallelization methods. The proposed SPH-EXA mini-app is a C++14 lightweight and flexible header-only code with no external software dependencies. Parallelism is expressed via multiple programming models, which can be chosen at compilation time with or without accelerator support, for a hybrid process+thread+accelerator configuration. Strong and weak-scaling experiments on a production supercomputer show that the SPH-EXA mini-app can be efficiently executed with up 267 million particles and up to 65 billion particles in total on 2,048 hybrid CPU-GPU nodes.