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).
The first day will cover Fortran Corrays and the second day will be UPC.
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.
Associated events: 7th International Conference on PGAS Programming Models, 3-4 October 2013, Edinburgh, Scotland, UK.
The first day will cover Fortran Corrays and the second day will be UPC.
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.
Associated events: 7th International Conference on PGAS Programming Models, 3-4 October 2013, Edinburgh, Scotland, UK.