23-24 September 2021
Europe/Zurich timezone

LFortran: Interactive LLVM-based Fortran Compiler for Modern Architectures

23 Sep 2021, 18:00
ZOOM (Virtual)



Presentation Presentations Presentations


Ondřej Čertík (Los Alamos National Laboratory)


We are developing a modern open-source Fortran compiler called LFortran. This compiler enables the interactive execution of code in environments like Jupyter, enabling exploratory workflows in Fortran (like Python, MATLAB or Julia). Besides interactive use, LFortran can also generate binaries. A live demo of the compiler with a Jupyter notebook will be shown. The compiler is written in C++ for robustness and speed. It parses Fortran code to an Abstract Syntax Tree (AST) and transforms it to an Abstract Semantic Representation (ASR). LFortran includes several backends that transform the ASR to machine code via LLVM, x86, or C++ implementations. More backends are planned. Our compiler has been designed to be modular so that the AST and ASR can be used independently, which is an important feature for supporting an ecosystem of tools that otherwise would be hard with a monolithic compiler design. Any Fortran 2018 code can now be parsed into the AST, with smaller subset to ASR and an even smaller subset to LLVM and machine code. We are now working on extending the subset of code that can be compiled. The goal is to be Fortran 2018 compliant.

Primary authors

Ondřej Čertík (Los Alamos National Laboratory) Gagandeep Singh (Quansight) Thirumalai Shaktivel (KS Institute Of Technology) Dominic Poerio (Axalta Coating Systems) Rohit Goswami (University of Iceland) Jacob Marks (Los Alamos National Laboratory) Himanshu Pandey Nikhil Maan (Amity University, India) Andrew Best (Blamsoft, Inc.) Sebastian Ehlert (University of Bonn) Ankit Pandey (Grinnell College) Scot Halverson (Los Alamos National Laboratory) Laurence Kedward (University of Bristol) Milan Curcic (University of Miami)

Presentation Materials