SC23 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

Workshops Archive

Fortran Performance Optimisation and Auto-Parallelization by Leveraging MLIR-Based Domain Specific Abstractions in Flang


Workshop: LLVM-HPC2023: The Ninth Workshop on the LLVM Compiler Infrastructure in HPC

Authors: Nick Brown (Edinburgh Parallel Computing Centre (EPCC), University of Edinburgh); Maurice Jamieson (Edinburgh Parallel Computing Centre (EPCC)); and Anton Lydike, Emilien Bauer, and Tobias Grosser (University of Edinburgh)


Abstract: MLIR has become popular since it was open sourced in 2019. A sub-project of LLVM, the flexibility provided by MLIR to represent Intermediate Representations (IR) as dialects at different abstraction levels, to mix these, and to leverage transformations between dialects provides opportunities for automated program optimisation and parallelisation. In addition to general purpose compilers built upon MLIR, domain specific abstractions have also been developed.

In this paper, we explore complimenting the Flang MLIR general purpose compiler by combining with the domain specific Open Earth Compiler’s MLIR stencil dialect. Developing transformations to discover and extracts stencils from Fortran, this specialisation delivers between a 2- and 10-times performance improvement for our benchmarks on a Cray supercomputer compared to using Flang alone. Furthermore, by leveraging existing MLIR transformations we develop an auto-parallelisation approach targeting multi-threaded and distributed memory parallelism, and optimised execution on GPUs, without any modifications to the serial Fortran source code.





Back to LLVM-HPC2023: The Ninth Workshop on the LLVM Compiler Infrastructure in HPC Archive Listing



Back to Full Workshop Archive Listing