Heterogeneous Programming on GPUs with MPI + OmpSs @ BSC

Room VS208, Vertex Building (Barcelona BSC Campus Nord)

Room VS208, Vertex Building

Barcelona BSC Campus Nord


The registration to this course will open in January. Please, bring your own laptop.  All the PATC courses at BSC are free of charge.

Course convener: Xavier Martorell

Objectives: 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


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

Course Outline

Day 1

Session 1 / 9:00am – 1:00 pm  (2 h lectures, 2 h practical)

09.00h – Introduction to OmpSs
11.30h – OmpSs single node programming hands-on
13.00h – Lunch Break

Session 2 / 2:00pm – 5:00 pm (1 h lectures, 2 h practical)

14.00h – More on OmpSs: GPU/CUDA programming
15.00h – OmpSs single node programming hands-on with GPUs


Day 2

Session 1 / 9:00 am – 1:00 pm  (1 h lectures, 3 h practical)

09.00h – Introduction  to MPI/OmpSs
10.00h – MPI/OmpSs hands-on
13.00h – Lunch Break

Session 2 / 2:00pm – 5:00 pm (3 h practical)

14.00h – Free hands-on session



The agenda of this meeting is empty