面向多异构平台的不可压求解器的移植算法和优化

Porting Algorithm and Optimization of Incompressible Solver for Multi-heterogeneous Platforms

  • 摘要: 研究开源计算流体力学软件OpenFOAM中典型不可压求解器icoFoam在异构平台上的并行算法,针对OpenFOAM设计了多异构平台兼容的数据存储结构,并结合可移植异构计算接口(HIP),提出了在两种主流异构平台上移植icoFoam的方案;同时,提出了一种在icoFoam中使用Krylov子空间线性求解器时高效的矩阵格式转换算法,并耦合hipSPARSE和hipBLAS库实现了压力和速度方程的高效求解。实验表明,该统一的移植方案在AMD和NVIDIA异构计算平台上,均使得icoFoam求解器的计算效率得到较大幅度的提升,相比于CPU,可分别获得20.5倍和38.4倍的加速效果。

     

    Abstract: The parallel algorithm of icoFoam, a typical incompressible solver of open-source Computational Fluid Dynamics software OpenFOAM, on heterogeneous platforms was studied. A multi-heterogeneous platforms compatible data storage structure was designed for OpenFOAM, and a scheme for porting icoFoam on two mainstream heterogeneous platforms was proposed in conjunction with the Heterogeneous-Computing Interface for Portability (HIP). Meanwhile, an efficient matrix format conversion algorithm was proposed when using the Krylov subspace linear solver in icoFoam, and the coupled hipSPARSE and hipBLAS libraries were implemented to solve the pressure and velocity equations efficiently. Experimental results showed that this unified porting scheme improved the computational efficiency of the icoFoam solver more substantially on both AMD and NVIDIA heterogeneous computing platforms, obtaining 20.5 and 38.4 times acceleration compared to the CPU, respectively.

     

/

返回文章
返回