Introduction to Code Parallelization using OpenMP

Overview

Instructor: Marinus Pennings

Time: Friday, November 2, 11:30AM-2:00PM

Location: SCC 102.B

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 (Spring 2018): PDF
  • Introduction to OpenMP (Fall 2017): PDF
  • Introduction to OpenMP (Spring 2017): PDF

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

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: http://tamulink.tamu.edu/

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