English

Fortran performance optimisation and auto-parallelisation by leveraging MLIR-based domain specific abstractions in Flang

Distributed, Parallel, and Cluster Computing 2023-10-04 v1 Programming Languages

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.

Keywords

Cite

@article{arxiv.2310.01882,
  title  = {Fortran performance optimisation and auto-parallelisation by leveraging MLIR-based domain specific abstractions in Flang},
  author = {Nick Brown and Maurice Jamieson and Anton Lydike and Emilien Bauer and Tobias Grosser},
  journal= {arXiv preprint arXiv:2310.01882},
  year   = {2023}
}

Comments

Author accepted version of paper in ACM Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis (SC-W 2023)

R2 v1 2026-06-28T12:39:13.099Z