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