INVITED TUTORIAL – FREE TO ATTEND – LIMITED SPACES AVAILABLE
OpenMP for Computational Scientists: From serial Fortran to thousand-way parallelism on GPUs using OpenMP
This two-part tutorial will introduce OpenMP 4.5 to Fortran programmers. OpenMP is an open standard with widespread support from compilers and vendors alike. As such the OpenMP parallel programming model is one viable way of writing performance portable programs for heterogeneous systems. OpenMP supports C, C++ and Fortran, and in this tutorial we will learn to write OpenMP programs in Fortran.
In the first part, we’ll introduce shared memory programming for multi-core CPUs using OpenMP. The most common parts of OpenMP will be explained alongside hands-on exercises for attendees to try for themselves. We’ll discuss some important performance optimisations to consider when writing shared memory programs.
In the second part, we’ll have a whistle-stop tour of the features in OpenMP for writing programs for heterogeneous nodes with GPUs. We’ll walk through the target directive for offloading both data and parallel execution to GPUs. At the end, you’ll be able to write programs using OpenMP for massively parallel GPUs.
A working knowledge of writing simple Fortran programs for HPC will be required for the course. Those already familiar with OpenMP who wish only to join for the GPU part are welcome to do so.