ACENET Summer School - OpenMP

There are two broad categories of parallel programming techniques that exist: the first is shared-memory, while the second is message-passing. This workshop looks at shared-memory programming, with a special focus on OpenMP.

Prerequisites

In order to edit, compile and run the examples, you should have experience with:

  • the bash command line interface
  • the C programming language
  • the GNU GCC compiler suite

A short refresher will be given in the introduction.

Two printed sources we used while developing this material were:

Schedule

Setup Download files required for the lesson
09:00 1. Introduction What is shared-memory programming?
What is OpenMP?
09:30 2. Hello World How do you compile and run an OpenMP program?
What are OpenMP pragmas?
09:55 3. Linear algebra How do I parallelize a loop?
10:45 4. Numeric Integration - Calculating Areas How can we calculate integrals?
11:05 5. Searching through data How to search in parallel
11:40 6. Calculating Fibonacci numbers How to recurse in parallel
11:55 7. Drawing the Mandelbrot set How do we handle irregular tasks?
13:55 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.