The U.S. Department of Energy's National Nuclear Security Administration (NNSA) and its three national labs today announced they have reached an agreement with NVIDIA's PGI(r) software to create an open-source Fortran compiler designed for integration with the widely used LLVM compiler infrastructure.
LLVM is a collection of reusable compiler and tool chain technologies with a modular design that facilitates support for a wide variety of programming languages and processor architectures.The Fortran front-end module created through this project will be derived from NVIDIA's PGI Fortran compiler, which has been used in production across a variety of high performance computing systems for more than 25 years. PGI(r) software is a leading supplier of software compilers and tools for parallel computing,
The project is being spearheaded by the Lawrence Livermore, Sandia and Los Alamos national laboratories in response to the need for a robust open-source Fortran solution to complement and support the burgeoning use of LLVM and the CLANG C++ compiler in the HPC community. Large HPC applications, such as those developed by the NNSA Laboratories, are often built on mixed-language modules, and require a common compiler infrastructure that supports both C/C++ and Fortran. Fortran also remains widely used in the broader scientific computing community, supporting simulation science to advance national security, medicine, energy, climate and basic science missions.
"With its broad adoption and flexible licensing model, the LLVM compiler infrastructure is a powerful open-source platform for development of compiler-related technologies and tools," said Patrick McCormick from Los Alamos National Laboratory. "The goal of this effort is to fill a key gap in the LLVM infrastructure that will help it become a more complete solution for our overall capabilities in support of the advancement of science and engineering."
The multi-year project will result in a source code base that enables the building of end-to-end Fortran compilers from the resulting components together with the existing LLVM source code base. All source code developed as part of the project will follow LLVM coding guidelines and will be made accessible and built using the utilities and interfaces that are standard for LLVM sub-projects. Source code for the resulting Fortran front-end is expected to be first available in open-source form in late 2016.
"We've been working with and using LLVM in various development efforts for several years," said Douglas Miles, director of PGI Compilers and Tools at NVIDIA. "We look forward to contributing a Fortran language front-end that bolsters the HPC software ecosystem and leverages all of the features and capabilities LLVM has to offer."
One of the keys to success of the project is collaboration with the wide range of organizations that have expressed interest in an open-source Fortran solution for integration with LLVM. Early reaction from the HPC community has been immediate and very enthusiastic.
"We have been working with the LLVM community for more than a year on the development of parallelizing C and C++ compilers for heterogeneous OpenPOWER HPC systems with closely coupled GPU accelerators," said Dave Turek, vice president of Exascale Computing at IBM. "LLVM-based compilers provide an important addition to the OpenPOWER ecosystem joining the existing IBM XL and PGI compilers. This announcement helps to extend our current work to encompass a fully open-source Fortran compiler for these systems."
Representatives from NNSA and NVIDIA will be available to discuss this development at SC15 during "The Second Workshop on the LLVM Compiler Infrastructure in HPC," from 9 a.m. to 5 p.m. Sunday, Nov. 15, in Hilton Hotel Salon E, near the Austin convention center.