VSC Training Course: Introduction to Hybrid Programming in HPC
Most HPC systems are clusters of shared memory nodes. Such SMP nodes can be small multi-core CPUs up to large many-core CPUs. Parallel programming may combine the distributed memory parallelization on the node interconnect (e.g., with the Message Passing Interface - MPI) with the shared memory parallelization inside of each node. This course analyses the strengths and weaknesses of several parallel programming models on clusters of SMP nodes. Tools for hybrid programming such as thread/process placement support and performance analysis are presented in a "how-to" section. The first day is dedicated to the theory. The second day provides hands-on exercises.

