OpenACC offloading of the MFC compressible multiphase flow solver on AMD and NVIDIA GPUs
Benjamin Wilfong, Anand Radhakrishnan, Henry A. Le Berre, Steve Abbott, Reuben D. Budiardja, Spencer H. Bryngelson
TL;DR
The paper addresses the challenge of delivering portable, high-performance multiphase flow simulations on modern GPUs from multiple vendors. It adopts OpenACC directive offloading for the MFC solver, employing careful data-layout optimizations, loop restructuring, and vendor-library acceleration to achieve significant kernel speedups and robust scaling on NVIDIA and AMD platforms. Key contributions include a comprehensive optimization pipeline (gang/vector with collapse, array packing, inlining via Fypp), GEAM-based transposes via hipBLAS/cuTENSOR, and substantial weak/strong scaling gains, with benchmark results on Summit and Frontier and validation against canonical multiphase-flow problems. The practical impact is a portable, scalable framework enabling leadership-class simulations across diverse GPU architectures with competitive performance and portability.
Abstract
GPUs are the heart of the latest generations of supercomputers. We efficiently accelerate a compressible multiphase flow solver via OpenACC on NVIDIA and AMD Instinct GPUs. Optimization is accomplished by specifying the directive clauses 'gang vector' and 'collapse'. Further speedups of six and ten times are achieved by packing user-defined types into coalesced multidimensional arrays and manual inlining via metaprogramming. Additional optimizations yield seven-times speedup in array packing and thirty-times speedup of select kernels on Frontier. Weak scaling efficiencies of 97% and 95% are observed when scaling to 50% of Summit and 95% of Frontier. Strong scaling efficiencies of 84% and 81% are observed when increasing the device count by a factor of 8 and 16 on V100 and MI250X hardware. The strong scaling efficiency of AMD's MI250X increases to 92% when increasing the device count by a factor of 16 when GPU-aware MPI is used for communication.
