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 introduces advanced topics for parallelizing applications with OpenMP, including:
- 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. For the exercises we provide access to an NHR@FAU system.
This is part 2 of a two-part course. The first part provides a general introduction to OpenMP for beginners. You can register for both parts separately.
Requirements
- 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.
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.
Certificates
All actual course attendees will receive a course certificate.
Instructor
Dr. Markus Wittmann (NHR@FAU)
This course is organized by Erlangen National High Performance Computing Center (NHR@FAU)