Journal
PROCEEDINGS OF IA3 2021: 2021 IEEE/ACM 11TH WORKSHOP ON IRREGULAR APPLICATIONS: ARCHITECTURES AND ALGORITHMS
Volume -, Issue -, Pages 19-26Publisher
IEEE COMPUTER SOC
DOI: 10.1109/IA354616.2021.00010
Keywords
Unstructured grid CFD; GPU Performance; Performance Portability; AMD ROCm; Atomic Update
Categories
Funding
- NASA Langley Research Center CIF/IRAD program
- NASA Transformational Tools and Technologies (TTT) Project of the Transformative Aeronautics Concepts Program under the Aeronautics Research Mission Directorate
- National Institute of Aerospace [NNLO9AAOOA]
Ask authors/readers for more resources
Optimization methods were studied to improve GPU efficiency, with a focus on AMD MI100 GPU and some success on NVIDIA V100 and A100. Techniques combining register shuffling and on-chip shared memory were used to enhance performance.
Computational performance of the FUN3D unstructured-grid computational fluid dynamics (CFD) application on GPUs is highly dependent on the efficiency of floating-point atomic updates needed to support the irregular cell-, edge-, and node-based data access patterns in massively parallel GPU environments. We examine several optimization methods to improve GPU efficiency of performance-critical kernels that are dominated by atomic update costs on NVIDIA V100/A100 and AMD CDNA MI100 GPUs. Optimization on the AMD MI100 GPU was of primary interest since similar hardware will be used in the upcoming Frontier supercomputer. Techniques combining register shuffling and on-chip shared memory were used to transpose and/or aggregate results amongst collaborating GPU threads before atomically updating global memory. These techniques, along with algorithmic optimizations to reduce the update frequency, reduced the run-time of select kernels on the MI100 GPU by a factor of between 2.5 and 6.0 over atomically updating global memory directly. Performance impact on the NVIDIA GPUs was mixed with the performance of the V100 often degraded when using register-based aggregation/transposition techniques while the A100 generally benefited from these methods, though to a lesser extent than measured on the MI100 GPU. Overall, both V100 and A100 GPUs outperformed the MI100 GPU on kernels dominated by double-precision atomic updates; however, the techniques demonstrated here reduced the performance gap and improved the MI100 performance.
Authors
I am an author on this paper
Click your name to claim this paper and add it to your profile.
Reviews
Recommended
No Data Available