The tutorial will motivate the audience on the need for portable, efficient programming models that put less pressure on program developers while still getting good performance for clusters and clusters with GPUs.
More specifically, the tutorial will:
- Introduce the hybrid MPI/OmpSs parallel programming model for future exascale systems
-
Demonstrate how to use MPI/OmpSs to incrementally parallelize/optimize:
- MPI applications on clusters of SMPs, and
- Leverage CUDA kernels with OmpSs on clusters of GPUs
Learning Outcomes:
The students who finish this course will be able to develop benchmarks and simple applications with the MPI/OmpSs programming model to be executed in clusters and clusters of GPUs.
INTERMEDIATE: for trainees with some theoretical and practical knowledge; those who finished the beginners course
ADVANCED: for trainees able to work independently and requiring guidance for solving complex problems
- Good knowledge of C/C++
- Basic knowledge of CUDA/OpenCL
- Basic knowledge of Paraver/Extrae
Material for practical sessions will be provided during the course, and it is also interesting that students can provide their own application(s) for session 4, free hands-on.
You are expected to come with your own laptop with either linux, windows or MacOS operating system.