This course provides insight into a broad variety of High Performance Computing (HPC) concepts and the majority of modern HPC architectures (clusters of NUMA nodes, GPUs). Moreover, the student will learn to have a feeling about what architectures are suited for several types of algorithms.

Three of the main parallel paradigms are tackled : OpenMP, Message Passing Interface and CUDA programming as well as hybrid programming (using two or more of the three paradigms in the same application).