Going Parallel (part II)

Europe/Brussels
Banque nationale: BN/055 (Namur)

Banque nationale: BN/055

Namur

Rue de Bruxelles. 83 - 5000 Namur
Description

Going parallel is crucial to speed up your gain and to use the full power of HPC center. In this session, we will start by presenting the share memory model (OpenMP) and then move on parralelism with GPU (CUDA and OpenACC)

Contents:

  • Parallel programming with OpenMP
  • Directive Based Parallel programming on GPU (OpenACC)
  • Parallel programming on GPU with CUDA

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
28 / 50
    • 1
      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

      Speakers: Orian Louant (Université de Liège), David Colignon (ULiège)
    • 2
      Parallel programming on GPU with CUDA

      Cuda is the most common way to code GPU application from scratch develloped by NVidia, it allows to push NVidia GPU to the maximum of their possibilities

      Contents:

      • Basic of GPU hardware
      • Basic of programming with CUDA
      • using nsight to profile your code

       

      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.)
      • Basic knowledge of C

      Type: Hands-on
      Target audience: Rookie programmer
      Must: This session is a nice-to-have for those who need to develop highly parallel scientific software.

      Speaker: Olivier Mattelaer (UCLouvain/CISM)
    • 3
      Directive Based Parallel programming on GPU (OpenACC)

      This course is an introduction to OpenACC and OpenMP to target GPU. These programming models are based on programmers inserting hints into their C/C++ or Fortran programs on how the code can be parallelized. OpenMP, was initially designed for shared-memory system with CPU but has recently been extended to target heterogeneous systems with accelerators like GPU.  OpenACC, on the other end, was designed from the start to target accelerators.

      Contents:

      • Basics of OpenMP offloading and OpenACC
      • Compute and worksharing constructs
      • Data management
      • Asynchronous execution and synchronization

       

      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.)
      • Basic knowledge of C/C++ or Fortran

      Type: Hands-on
      Target audience: Rookie programmer
      Must: This session is a nice-to-have for those who need to develop highly scientific software.

      Speaker: Orian Louant (Université de Liège)