Topic: “Parallel programming without MPI – Using coarrays in Fortran”
Speaker: Ge Baolai, SHARCNET
Webinar link: SN-Seminars Vidyo room
If you have been exposed to message passing for parallel programming on distributed memory systems, but do not have time to write complicated code using the message passing interface (MPI), or if you have been using MATLAB and want to explore parallel processing on clusters, take a look at coarray, a standardized language feature of modern Fortran.
Coarray is a parallel processing construct of modern Fortran, in addition to the “forall” and “do concurrent” loop constructs for vectorized concurrent processing. As a Partitioned Global Access Space (PGAS) model, coarray was first introduced by Cray, and incorporated as an extension in its Cray Fortran, mainly for Cray hardware, in the 1990s. Eventually coarray became one of the language features in an ISO Fortran standard (2008). Currently the coarray features are supported by several popular compilers, including intel and GCC, on top of the underlying MPI library. Coarray has demonstrated both programming productivity and comparable performance.
In this tutorial, we will first go over the common parallel programming models. We will then introduce the syntax of coarray and a few simple rules. We will show how to compile and run parallel programmes with coarrays on your laptop and on SHARCNET systems.
Need help attending a webinar? See the SHARCNET Help Wiki.