Heterogeneous parallelization of a Fortran program for compressible multi-material flow based on OpenACC
-
Abstract
Facing the performance bottlenecks and porting difficulties of large-scale CFD codes in the era of heterogeneous computing, this study takes a typical multi-material compressible flow Fortran program as the subject. We propose an efficient heterogeneous parallel scheme and successfully ported the program. By integrating the OpenACC parallel programming model with MPI for inter-node communication, a comprehensive "CPU+GPU" hybrid parallel framework is constructed. Addressing the issues of failed heterogeneous parallelization and performance bottlenecks that arise after automatic translation using the GPUFORT toolchain, targeted solutions are provided. These solutions enable efficient translation and adaptation of the code to domestic DCU accelerators. Numerical experiments demonstrate that for typical multi-material flow problems, the performance of a single DCU card achieves a 56-fold speedup compared to a single CPU core under the same problem scale. Furthermore, the program exhibits excellent strong and weak scaling, stably supporting large-scale numerical simulations involving thousands of accelerators and tens of billions of grid cells. This work provides a solution for heterogeneous parallelization of CFD programs that effectively balances the demands for accelerated computation with the simplification of code modification.
-
-