NVIDIA Has Been Working On A New Fortran "f18" Compiler It Wants To Contribute To LLVM
NVIDIA for a while now has been working on the Flang compiler as an open-source Fortran compiler built atop the LLVM infrastructure and inspired by the Clang C/C++ compiler front-end. Recently though they began a ground-up rewrite of Flang using modern C++ and that effort is now known as f18 and they are looking to mainline this new Fortran compiler front-end.
With the Flang code-base needing to be improved upon, NVIDIA engineers began a ground-up rewrite of the code in C++ rather than C and making other design improvements along the way. This new f18 compiler for Fortran implements a "healthy subset" of the existing Flang capabilities. The f18 front-end is handling Fortran 2018 code and supports OpenMP 4.5. Various language features not yet implemented by f18 are currently being worked on.
NVIDIA now is at the stage they are seeking to contribute the f18 code as open-source to LLVM so it can become the official Fortran front-end to the LLVM project. While f18 isn't yet finished, they are hoping to continue maturing it while in-tree. Other organizations like the US Department of Energy are also interested in this Fortran compiler.
NVIDIA engineers have also been working on a new library of scalar, vector, and masked math functions with auto-vectorization and OpenMP SIMD. That too NVIDIA is willing to open-source as an upstream LLVM project.
There still are some elements to work through, but it looks like f18 could be on the way to being upstreamed in the LLVM umbrella this year as an official Fortran front-end. The initial discussions this week around LLVM f18 can be found on the developer mailing list.
For now the f18 compiler front-end is host under the flang-compiler should you be interested in trying out this Fortran 2018 compiler right away.
With the Flang code-base needing to be improved upon, NVIDIA engineers began a ground-up rewrite of the code in C++ rather than C and making other design improvements along the way. This new f18 compiler for Fortran implements a "healthy subset" of the existing Flang capabilities. The f18 front-end is handling Fortran 2018 code and supports OpenMP 4.5. Various language features not yet implemented by f18 are currently being worked on.
NVIDIA now is at the stage they are seeking to contribute the f18 code as open-source to LLVM so it can become the official Fortran front-end to the LLVM project. While f18 isn't yet finished, they are hoping to continue maturing it while in-tree. Other organizations like the US Department of Energy are also interested in this Fortran compiler.
NVIDIA engineers have also been working on a new library of scalar, vector, and masked math functions with auto-vectorization and OpenMP SIMD. That too NVIDIA is willing to open-source as an upstream LLVM project.
There still are some elements to work through, but it looks like f18 could be on the way to being upstreamed in the LLVM umbrella this year as an official Fortran front-end. The initial discussions this week around LLVM f18 can be found on the developer mailing list.
For now the f18 compiler front-end is host under the flang-compiler should you be interested in trying out this Fortran 2018 compiler right away.
14 Comments