论文标题
设计3D平行内存感知的晶格Boltzmann算法
Designing a 3D Parallel Memory-Aware Lattice Boltzmann Algorithm on Manycore Systems
论文作者
论文摘要
晶格Boltzmann方法(LBM)是解决计算流体动力学(CFD)问题的一种有前途的方法,但是,其内存结合度的性质几乎所有LBM算法在现代计算机体系结构上的性能几乎所有。本文介绍了新颖的顺序和并行3D内存感知的LBM算法,以优化其内存访问性能。引入的新算法结合了单拷贝分布,单扫描,掉期算法,棱镜遍历的特征,并合并了两个时间步骤。我们还设计了一种并行方法,以确保线程安全性并减少并行LBM算法中的同步。最后,我们评估了他们在三个高端多核系统上的性能,并证明我们的新3D内存感知的LBM算法的表现优于最先进的Palabos软件(实现Fuse交换Prism LBM Solver)的表现高达89%。
Lattice Boltzmann method (LBM) is a promising approach to solving Computational Fluid Dynamics (CFD) problems, however, its nature of memory-boundness limits nearly all LBM algorithms' performance on modern computer architectures. This paper introduces novel sequential and parallel 3D memory-aware LBM algorithms to optimize its memory access performance. The introduced new algorithms combine the features of single-copy distribution, single sweep, swap algorithm, prism traversal, and merging two temporal time steps. We also design a parallel methodology to guarantee thread safety and reduce synchronizations in the parallel LBM algorithm. At last, we evaluate their performances on three high-end manycore systems and demonstrate that our new 3D memory-aware LBM algorithms outperform the state-of-the-art Palabos software (which realizes the Fuse Swap Prism LBM solver) by up to 89%.