Modern Fortran, with emphasis on coarrays (John Reid, JKR Associates/Rutherford Appleton Laboratory)
Channel: NERSC
Date: 2018-06-14

Fortran is now 60 years old and has evolved steadily during this time. It was the first computer language to be standardized (1966) and the standard was revised in 1977, 1990, 1995, 2003, and 2008. A further revision is on schedule for completion this year.

I have been a user of Fortran since the late 60s and have contributed many Fortran codes to HSL (formerly the Harwell Subroutine Library). I have been involved in Fortran standards since 1983, when I was asked to join the committee because of the heavy investment in Fortran programmes by the UK Atomic Energy Authority. I have continued ever since with the aim of improving the language, despite the Numerical Analysis Group moving to the Rutherford Appleton Laboratory in 1990.

Fortran has lost the dominant position it held in the 70s, but modern Fortran is well used, particularly on supercomputers and is a very different language, though old programs are still accepted and efficient execution has been retained. I will give you my explanation of why it lost its dominant position and quickly summarize the main changes in each of the revisions.

My main objective is to give you an overview of Fortran 2008, paying special attention to coarrays, which provide a particularly pleasant way to perform parallel programming. I will also explain the main additional features of Fortran 2018. It includes the ability to continue executing in the presence of a small number failed processes, not unlikely when long runs are made on huge numbers of processes.