Fully integrating the Flang Fortran compiler with standard MLIR
Nick Brown

TL;DR
This paper demonstrates that fully integrating the Flang Fortran compiler with standard MLIR can significantly improve performance, achieving up to three times speedup over existing Flang approaches in HPC benchmarks.
Contribution
The paper introduces a complete mapping between Fortran and standard MLIR, enabling full integration and substantial performance improvements over the current Flang compiler.
Findings
Up to three times speedup in benchmark performance
Full MLIR integration enhances Flang's efficiency
Performance gains across diverse HPC benchmarks
Abstract
Fortran is the lingua franca of HPC code development and as such it is crucial that we as a community have open source Fortran compilers capable of generating high performance executables. Flang is LLVM's Fortran compiler and leverages MLIR which is a reusable compiler infrastructure which, as part of LLVM, has become popular in recent years. However, whilst Flang leverages MLIR it does not fully integrate with it and instead provides bespoke translation and optimisation passes to target LLVM-IR. In this paper we first explore the performance of Flang against other compilers popular in HPC for a range of benchmarks before describing a mapping between Fortran and standard MLIR, exploring the performance of this. The result of this work is an up to three times speed up compared with Flang's existing approach across the benchmarks and experiments run, demonstrating that the Flang…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputational Physics and Python Applications
