Introduction to Code Parallelization using OpenMP

Overview

Instructor(s): Marinus Pennings

Time: Opens Friday, April 8, 2022

Location: Google Classroom

Prerequisite(s): Current Ada account, working knowledge of C/C++ or FORTRAN, Intro to Linux or Linux/Unix skills

This course covers code parallelization on shared memory systems using the OpenMP standard. We will start with a brief discussion about basic hardware architecture and compiling and running OpenMP program. Next we will introduce the OpenMP programming model and we will discuss OpenMP directives, library functions and environmental variables. The course is example driven (Fortran90 and C++ code snippets) to explain the various concepts and there are a few demo problems we will do together in class.

A Registration button will appear here when registration has been opened.

Course Materials

Presentation slides

The presentation slides are available as downloadable PDF files.

  • Introduction to OpenMP (Fall 2020): PDF

Previous Course Materials

  • Introduction to OpenMP (Spring 2020): PDF
  • Introduction to OpenMP (Fall 2019): PDF
  • Introduction to OpenMP (Spring 2019): PDF
  • Introduction to OpenMP (Fall 2018): PDF

Participation

During the training, attendees are expected to log in to an HPRC cluster using their own computer and complete the instructor-led examples and exercises.

Agenda

This course focuses, among others, on the following topics:

  • Basic Architectural overview
  • Shared memory parallelization concepts
  • Compiling and running OMP programs
  • Structure of OpenMP directives/pragmas
  • OpenMP Work sharing constructs
  • Synchronization directives/pragmas