Are you interested in using Europe’s faster supercomputers (and getting ECTS credit points for doing so)? Would you like to learn how to write programs for parallel supercomputers, such as a Cray or a cluster of GPUs? The course is designed to teach students how to program parallel computers to efficiently solve challenging problems in science and engineering, where very fast computers are required either to perform complex simulations or to analyze enormous datasets. This course is a graduate-level introduction to high performance computing. It refers to two things: efficient as the problem size grows, and efficient as the system size measured in numbers of cores grows. The course is organized as a HPC Lab. The practical aspect of this course is implementing the techniques you’ll learn to run on real parallel systems, so you can check whether what appears to work well in theory also translates into practice.Programming models you’ll use include include include OpenMP, and MPI, and possibly others.