What is it about?
The Fortran programming language provides native parallel programming features that enable portable high-performance computing, without explicit programmer reliance on external libraries for parallelism and communication. Fortran compilers implementing these features generate executables that use a software runtime system to perform communication between the processes comprising a parallel computation. This paper introduces the Parallel Runtime Interface for Fortran (PRIF), which specifies an open, portable interface between a Fortran compiler and the parallel runtime. The basic idea is that any compiler that targets PRIF could potentially use any parallel runtime that supports PRIF. Once deployed, this will allow one to mix-and-match Fortran compilers with parallel runtime systems, enhancing software reuse and portability.
Featured Image
Photo by Nicolas Hoizey on Unsplash
Why is it important?
The Fortran programming language added features supporting single-program, multiple data (SPMD) parallel programming and loop parallelism beginning with Fortran 2008. In Fortran, SPMD programming involves the creation of a fixed number of images (instances) of a program that execute asynchronously in shared or distributed memory, except where a program uses specific synchronization mechanisms. Fortran’s “coarray’’ distributed data structures offer a subscripted, multidimensional array notation defining a partitioned global address space (PGAS). One image can use this notation for one-sided access to another image’s slice of a coarray. Fortran plays a prominent role in high-performance computing, where parallel programming is key to achieving the high computational throughput required to solve modern scientific problems. Unfortunately, many important Fortran compilers still entirely lack support for the multi-image parallel features of the Fortran language. Other compilers supporting these features do so using proprietary and/or closed-source parallel runtimes that severely limit the potential for innovation and collective improvement. PRIF provides a pathway for these compilers and others to adopt multi-image parallel features using a portable and open parallel runtime interface, decoupling the Fortran compiler from system-specific details of the parallel runtime system and communication networks.
Perspectives
This article was published in the LLVM-HPC workshop, specifically advocating for the LLVM Fortran compiler to adopt PRIF. We have high hopes for the success of the LLVM Fortran compiler, and are enthusiastic to help finish its missing multi-image parallelism features that users desperately require.
Dan Bonachea
Lawrence Berkeley National Laboratory
Read the Original
This page is a summary of: Parallel Runtime Interface for Fortran (PRIF): A Multi-Image Solution for LLVM Flang, November 2024, Institute of Electrical & Electronics Engineers (IEEE),
DOI: 10.1109/scw63240.2024.00134.
You can read the full text:
Contributors
The following have contributed to this page







