Programming Models @ BSC

Boosting parallel computing research since 1989

Parallel Programming Workshop

- Written by Xavier Teruel

  • Venue: Barcelona, SPAIN
  • Event date: October 18-20th, 2018
  • Speakers: Xavier Teruel & Xavier Martorell


The objectives of this course are to understand the fundamental concepts supporting message-passing and shared memory programming models. The course covers the two widely used programming models: MPI for the distributed-memory environments, and OpenMP for the shared-memory architectures. It also presents the main tools developed at BSC to get information and analyze the execution of parallel applications, Paraver and Extrae. Moreover it sets the basic foundations related with task decomposition and parallelization inhibitors, using a tool to analyze potential parallelism and dependences, Tareador.


Day 1 (Wednesday) 2:00 pm - 5:30 pm:

  1. Shared-memory programming models, OpenMP fundamentals
  2. Parallel regions and work sharing constructs
  3. Synchronization mechanisms in OpenMP
  4. Practical: heat diffusion in OpenMP

Day 2 (Thursday) 9:30am – 1:00 pm:

  1. Tasking in OpenMP 3.0/4.0/4.5
  2. Programming using a hybrid MPI/OpenMP approach
  3. Practical: multisort in OpenMP and hybrid MPI/OpenMP

Day 2 (Thursday) 2:00am – 5:30 pm:

  1. Parallware: guided parallelization
  2. Practical session with Parallware examples

Day 3 (Friday) 9:30 am – 1:00 pm:

  1. Introduction to the OmpSs programming model
  2. Practical: heat equation example and divide-and-conquer

Day 3 (Friday) 2:00pm – 5:30 pm

  1. Programming using a hybrid MPI/OmpSs approach
  2. Practical: heat equation example and divide-and-conquer

External references