This course will be delivered as an ONLINE COURSE (using Zoom) for remote participation.
REGISTRATION is strictly NECESSARY since the details to access the online course will be provided to the registered and accepted attendees only. Registration follows the "first come – first served" principle. For the online course we can take a maximum of 40 persons. Additional registrations will be added to a waiting list.
Furthermore, accepted participants will be contacted a few days before the course and asked to do a short PRE-ASSIGNMENT that has to be completed before the course starts.
For doing the HANDS-ON LABS all you need is a C/C++ or Fortran compiler that supports OpenMP. Participants can choose between using their own laptops or any system they have access to that provides an OpenMP enabled compiler, it's even possible to do the exercises in Google Colab. Alternatively, participants can ask for a training user account at the VSC for the duration of the course.
Overview
The focus of this 2 days course is on shared memory parallelization with OpenMP for dual-core, multi-core, shared memory, and ccNUMA platforms. This course teaches OpenMP starting from a beginners level. Hands-on sessions (in C and Fortran) will allow users to immediately test and understand the OpenMP directives, environment variables, and library routines. Race-condition debugging tools are also presented.
Content Levels: Beginners = 6:00h (50%) + Intermediate = 4:00h (33%) + Advanced = 2:00h (17%)
This course is a PRACE training event. It is organized by the VSC Research Center, TU Wien, in cooperation with the High-Performance Computing-Center Stuttgart (HLRS).
Agenda & Content
1st day
08:45 Join online
09:00 Welcome
09:10 Introduction to modern hardware (talk)
10:10 An overview of OpenMP (talk)
10:35 Coffee
10:50 OpenMP programming and execution model (talk+practical)
12:30 Lunch
13:30 OpenMP worksharing directives (talk+practical)
15:00 Coffee
15:15 More OpenMP (talk+practical)
16:00 Summary (talk) + Q & A
16:30 End of first day
2nd day
08:45 Join online
09:00 How to write correct OpenMP programs (talk)
09:30 Intel Inspector XE (demo+practical)
10:30 Coffee
10:45 How to write efficient OpenMP programs (talk)
11:00 Heat equation (talk+practical)
12:30 Lunch
13:30 Heat equation (practical — continued)
14:00 Vectorization with OpenMP (talk)
14:25 Thread affinity in OpenMP (talk)
15:00 Coffee
15:15 The taskloop directive (talk+practical)
16:30 End of second day (course)