Lammps应用优化案例
应用背景
研究分子的运行一般有Molecular Dynamics(简称MD)、Monte Carlo(简称MC)两种方式;MC方法即蒙特卡罗方法,通过统计规律,人为构造一个合适的概率模型,用于模拟粒子的运动。MD即分子动力学,该方法主要是依靠牛顿力学来模拟分子体系的运动,以在由分子体系的不同状态构成的系统中抽取样本,从而计算体系的构型积分,并以构型积分的结果为基础进一步计算体系的热力学量和其他宏观性质;MD方法开源的软件主要有Lammps、Gromacs等。
Lammps是由美国桑迪亚国家实验室(Sandia)开发的一套分子动力学模拟的开源程序包。 Lammps可以支持包括气态,液态或者固态相形态下、各种系综下、百万级的原子分子体系,并提供支持多种势函数。
使用软件
应用软件:OpenFOAM-v1906
基础软件:毕昇编译器、Hyper MPI
测试算例:Audi
成果
基于华为自研软件栈的软件优化后,OpenFOAM应用在鲲鹏平台单节点运行的整体性能上提升达到对比机型140%左右。主要优化措施如下:
- 基于华为自研软件栈毕昇编译器和Hyper MPI优化
- 基于热点函数的循环展开优化,减少内存访问Cache miss
- 基于OpenFOAM的混合精度调优