Programming Models @ BSC

Boosting parallel computing research since 1989

Heterogeneous Programming on GPUs with MPI + OmpSs

- Written by Xavier Teruel

  • Venue: BSC, Barcelona, SPAIN
  • Event date: May 9-10th, 2018
  • Speakers: Xavier Martorell and Xavier Teruel

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 and it will demonstrate how to use MPI/OmpSs to incrementally parallelize/optimize: 1) MPI applications on clusters of SMPs, and 2) Leverage CUDA kernels with OmpSs on clusters of GPUs


  • Good knowledge of C/C++
  • Basic knowledge of CUDA/OpenCL
  • Basic knowledge of Paraver/Extrae

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 of GPUs.


  • Day 1
    • 09.00h – Introduction to OmpSs
    • 11.30h – OmpSs single node programming hands-on
    • 13.00h – Lunch Break
    • 14.00h – More on OmpSs: GPU/CUDA programming
    • 15.00h – OmpSs single node programming hands-on with GPUs
    • 17.30h – Adjourn
  • Day 2
    • 09.00h – Introduction to MPI/OmpSs
    • 10.00h – MPI/OmpSs hands-on
    • 13.00h – Lunch Break
    • 14.00h – Free hands-on session
    • 17.30h – Adjourn