OpenMP is a standard for parallelizing shared memory C/C++ and Fortran applications. It is supported by major compilers and provides a simple, low-entry barrier for thread-based parallelization.
This course gives an introduction to the basic workings and constructs used for parallelizing applications with OpenMP, including
- basic OpenMP concepts
- OpenMP directives and runtime functions
- parallel regions
- working with private and shared data
- parallelizing loops
- parallelization by tasks
- synchronization
- performance and overhead
- affinity and first-touch NUMA placement
Examples and hands-on exercises will be provided in C and Fortran.
Requirements
- basic understanding of C, C++, or Fortran
- compile applications by invoking the compiler on the command line
- editing files through ssh connection via vim, emacs, nano, ...
Participation
Participation is free of charge for attendees from German universities,
academic computing centers, and research institutions. Please only register for the course if you are really going to attend. No-shows will be blacklisted and excluded from future NHR@FAU events.
Instructor
Dr. Markus Wittmann (NHR@FAU)
This course is organized by Erlangen National High Performance Computing Center (NHR@FAU)