Skip to main content Skip to navigation

Parallel Programming with Coarray Fortran & UPC

Description of Content

Partitioned Global Address Space (PGAS) languages such as Unified Parallel C (UPC) and Fortran Coarrays have been the subject of much attention in recent years, in particular due to the exascale challenge.
There is a widespread belief that existing message-passing approaches such as MPI will not scale to this level due to issues such as memory consumption and synchronisation overheads. PGAS approaches offer a potential solution as they provide direct access to remote memory. This reduces the need for temporary memory buffers, and may allow for reduced synchronisation and hence improved message latencies. This course covers how the PGAS model is implemented in C (via UPC) and Fortran (via coarrays).

Learning outcome: An understanding of the PGAS execution model. An ability to parallelise regular array-based code using UPC and Fortran coarrays. An understanding of the synchronisation requirements of PGAS models.

Pre-requisites: Ability to program in C/C++ and basic Fortran.


Edinburgh (2 Day Course)