This lesson is being piloted (Beta version)

ACENET Summer School - Directive-Based Parallel Programming with OpenMP and OpenACC

The ACENET Parallel Programming Summer School will focus on teaching students the basics of parallel programming. This will include directive-based parallel programming (through OpenMP and OpenACC), message passing parallel programming (through MPI) and GPGPU programming (through CUDA), DASK and Machine Learning.

Prerequisites

FIXME

Schedule

Setup Download files required for the lesson
00:00 1. Introduction How shared memory parallel programs work?
What is OpenMP?
How to write and compile parallel programs in C?
00:20 2. Hello World How do you compile and run an OpenMP program?
What are OpenMP pragmas?
How to identify threads?
00:50 3. Parallel Operations with Arrays How do I parallelize a loop?
01:30 4. Race Conditions with OpenMP How can we calculate integrals in parallel?
How to compile a program using math functions with gcc?
01:55 5. Searching through data How to search in parallel
02:30 6. OpenMP Tasks How to recurse in parallel
02:55 7. Calculating Electrostatic Energy How do we handle irregular tasks?
03:25 8. Drawing the Mandelbrot set How do we handle irregular tasks?
03:55 9. Introduction to GPU Programming with OpenACC How to program GPU?
04:25 Finish

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