Going Parallel (part II: MPI, OpenMP)

Europe/Brussels
Salle S08 (Namur)

Salle S08

Namur

UNamur - Faculté des Sciences, Rue Joseph Grafé 2, 5000 Namur (ground floor).
Description
Going parallel is crucial to speed up your gain and to use the full power of HPC center. In this session, we will finish the MPI presentation and continue by presenting the share memory model (OpenMP).

Contents:

  • Parallel programming with OpenMP
  • OpenMPI

Prerequisite:

  • Being able to use SSH with private keys 
  • Being familiar with a text editor 
  • Mastering the Linux command line and the GNU utilities (mkdir, cp, scp, etc.)
  • Passive knowledge of C
Type: Hands-on
Target audience: Rookie programmer
Must: This session is a must-have for anyone that want to move to GPU or use parralelism with shared memory
Registration
Registration
25 / 50
    • 1
      Parallel programming with MPI (2)

      MPI is a standard for passing messages between processes running on distinct computers. It offers high-level primitives for efficient communication. 

      Contents:

      • Parallel programming paradigms
      • Shared-memory vs message passing
      • Compiling an MPI program
      • Collective communication
      • Reduction operations
      • Communication modes

      Prerequisite:

      • Being able to use SSH with private keys 
      • Being familiar with a text editor 
      • Mastering the Linux command line and the GNU utilities (mkdir, cp, scp, etc.)
      • Passive knowledge of C or Fortran

      Type: Hands-on
      Target audience: Rookie programmer
      Must: This session is a must-have for anyone writing or even simply using MPI programs

      Speaker: Mr Orian Louant (Université de Liège)
    • 2
      Parallel programming with OpenMP

      OpenMP is an easy alternative to pthreads for multithread computing. OpenMP extensions now exist in most C and Fortran compilers and allow flagging loops and other construct for efficient multithreading with little supplementary programming effort. 

      Contents:

      • Parallel programming paradigms
      • OpenMP Execution model
      • Compiling an OpenMP program
      • Data races
      • Parallel loops
      • Barriers and synchronisation

      Prerequisite:

      • Being able to use SSH with private keys 
      • Being familiar with a text editor 
      • Mastering the Linux command line and the GNU utilities (mkdir, cp, scp, etc.)
      • Passive knowledge of C or Fortran


      Type: Hands-on
      Target audience: Rookie programmer
      Must: This session is a must-have for anyone writing programs in C/C++ or Fortran

      Speaker: Orian Louant (Université de Liège)
    • 3
      Advanced SLURM job submission

      This session follows the first Slurm session and teaches participants how to enhance submission scripts using concepts learned in the Workflows, Parallel computing, Bash scripting, and MPI sessions.

       

      Contents:

      • Scripting submissions 
      • Arrays and Job packing 
      • Heterogeneous jobs 
      • Process placement 

      Prerequisite:

      • Being able to use SSH with private keys 
      • Being familiar with a text editor 
      • Mastering the Linux command line and Bash scripting
      • Working knowledge of Slurm

      Type: Hands-on
      Target audience: Everyone
      Must: This session is useful.

      Speaker: Damien François (UCLouvain/CISM)