OpenFOAM应用优化案例
应用背景
OpenFOAM 是一款免费的开源场计算和处理软件,主要用于连续介质力学问题进行数值计算,通过采用有限体积法求解偏微分方程系统,支持三维非结构化多面体网格。其具有良好的大规模并行计算能力,支持基于网格区域分解的并行任务划分,支持自带或第三方的 MPI 接口。它可进行数据预处理、后处理和自定义求解器,常用于计算流体力学(CFD)领域,可以解决从涉及化学反应、湍流和传热的复杂流体流动到声学、固体力学和电磁学的问题。
使用软件
应用软件:OpenFOAM-v1906
基础软件:毕昇编译器、HMPI
测试算例:Audi
成果
基于华为自研软件栈的软件优化后,OpenFOAM应用在鲲鹏平台单节点运行的整体性能上提升达到对比机型140%左右。主要优化措施如下:
- 基于华为自研软件栈毕昇编译器和HMPI优化
- 基于热点函数的循环展开优化,减少内存访问Cache miss
- 基于OpenFOAM的混合精度调优