论文标题
通过代码生成,高效的晶格 - 玻璃体多相模拟,以高密度比和GPU上的高密度比例模拟
Highly Efficient Lattice-Boltzmann Multiphase Simulations of Immiscible Fluids at High-Density Ratios on CPUs and GPUs through Code Generation
论文作者
论文摘要
提出了基于保守的Allen-CAHN模型支持高密度比和高雷诺数的多相晶格玻尔兹曼方法的高性能实现。元编程技术用于自动生成CPU和GPU的优化代码。耦合模型在高级符号描述中指定,并通过自动转换进行了优化。通过计算内核的融合来减少所得算法的内存足迹。屋顶线分析证明了单个GPU上生成的代码的出色效率。所得的单GPU代码已集成到多物理框架Walberla中,以在大域上进行大规模并行模拟。沟通隐藏和启用GPudirect的MPI产生了接近完美的缩放行为。缩放实验是在PIZ daint Supercutter上进行的,最高为2048 GPU,模拟了数百个完全分辨的气泡。此外,在物理相关的情况下显示了实施的验证 - 三维升起的气泡在水中。
A high-performance implementation of a multiphase lattice Boltzmann method based on the conservative Allen-Cahn model supporting high-density ratios and high Reynolds numbers is presented. Metaprogramming techniques are used to generate optimized code for CPUs and GPUs automatically. The coupled model is specified in a high-level symbolic description and optimized through automatic transformations. The memory footprint of the resulting algorithm is reduced through the fusion of compute kernels. A roofline analysis demonstrates the excellent efficiency of the generated code on a single GPU. The resulting single GPU code has been integrated into the multiphysics framework waLBerla to run massively parallel simulations on large domains. Communication hiding and GPUDirect-enabled MPI yield near-perfect scaling behaviour. Scaling experiments are conducted on the Piz Daint supercomputer with up to 2048 GPUs, simulating several hundred fully resolved bubbles. Further, validation of the implementation is shown in a physically relevant scenario-a three-dimensional rising air bubble in water.