Introduction to Parallel Programming With OpenMP
Topic outline
-
This course gives an introduction to the basic workings and constructs used for parallelizing applications with OpenMP including:Part 1:
- basic OpenMP concepts
- OpenMP directives and runtime functions
- parallel regions
- working with private and shared data
- parallelizing loops
- synchronization
Part 2:- thread affinity
- memory locality and programming for ccNUMA systems
- shared-memory parallelization with tasking
- Single Instruction Multiple Data (SIMD) programming
- accelerator programming via offloading
Examples and hands-on exercises will be provided in C and Fortran.Requirements Part 1:
- basic understanding of C, C++, or Fortran
- compile applications by invoking the compiler on the command line
- We assume that each participant has their own device with an OpenMP-capable compiler for running the hands-on exercises
- See Installation of Compilers (in the case you do not have one) if you need to install one.
- Files and instructions to test if your compiler supports OpenMP.
Requirements Part 2:
- basic understanding of C, C++, or Fortran
- OpenMP basics: loop worksharing, data scoping, synchronization, reductions
- compile applications by invoking the compiler on the command line
- Participants must be able to log in to a remote machine via SSH and handle a Linux command line remotely.
Course date & time:
- Part 1: 2024-03-05, 9:00 a.m. - 4:00 p.m.
- Part 2: 2024-03-12, 9:00 a.m. - 3:00 p.m.
The course will be an online event via Zoom.
Timetable:
9:00 -- 12:00 Course
Contact:
12:00 -- 13:00 Lunch break
13:00 -- 16:00 Course
interspersed breaks and hands-onMarkus Wittmann (markus.wittmann at fau.de) -
-
https://survey.nhr.fau.de/index.php/974314?lang=enThis survey is anonymous.Thank you for your collaboration and thank you for joining our course!!