Coarrays are native Fortran means for SPMD parallel programming. At runtime multiple copies of the executable (called images) are executing asynchronously. The F2008 standard provides coarray syntax, remote calls, coarray data objects, allocatable coarrays, syncronisation, atomics, etc.
F2018 adds new functionality, e.g. collectives, teams, events, more atomics. Coarrays are used extensively in CASUP library for HPC (https://cgpack.sourceforge.io).
The course is aimed at experienced Fortran users. Working knowledge of Fortran is assumed. The course is designed for a 1 day study with an instructor. Multiple exercises with full solutions are accompanied by notes. This course is taught to the University of Bristol HPC users. Exercises have been verified with Intel and GCC/OpenCoarrays.
All course materials are released under BSD license. We welcome contributions, provided you are happy to release your work under BSD license.
We welcome comments and problem reports.
Features
- Cray, Intel, OpenCoarrays/GCC compilers supported
- examples with solutions
- PDF and HTML notes