Introduction to Code Parallelization using OpenMP


Instructor: Marinus Pennings

Time: Friday, April 9, 10:00AM-12:30PM

Location: Google Classroom

Prerequisites: Working knowledge of C/C++ or FORTRAN; Intro to Linux or Unix/Linux skills; Ada account.

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.

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


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

Note: During the class sessions many aspects of the material will be illustrated live via a login to Ada. Attendees are welcome to follow these parts with their own laptops. They will need to configure their laptops to use the TAMULink wireless network. Relevant details on this can be found at:

You are encouraged to contact the HPRC helpdesk with any questions regarding Ada.