This course will be delivered as an ONLINE COURSE for remote participation because of the COVID-19 measures enforced by most European governments.
Please register directly @ VSC Vienna: Registration form @ VSC Vienna
Registration period is from 5 March 2020 to 19 April 2020, and 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.
REGISTRATION is strictly NECESSARY since the details to access the online course will be provided to the registered and accepted attendees only.
Furthermore, accepted participants will be contacted about two weeks in advance and asked to provide some more data for the hands-on labs that will be needed for user account creation on the VSC clusters. At that time there will also be a short PRE-ASSIGNMENT that has to be completed before the course starts.
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%)
(Please note that the content levels refer to the originally planned face-to-face course.)
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).
Note, an additional ONLINE COURSE on Distributed memory parallelization with the Message Passing Interface (MPI) takes place on the following three days (a separate registration is needed).
Agenda & Content (preliminary)
Please note, below you find the agenda for the originally planned face-to-face course.
For the online version of the course the agenda will be adjusted to allow for more time and flexibility with doing the hands-on labs remotely.
08:45 Registration & Getting Ready for the Course
09:00 Introduction to modern hardware (talk)
10:00 An overview of OpenMP (talk)
11:00 OpenMP programming and execution model (talk+practical)
13:30 OpenMP worksharing directives (talk+practical)
15:15 More OpenMP (talk+practical)
16:00 Summary (talk) + Q & A
16:30 End of first day
09:00 How to write correct OpenMP programs (talk)
10:00 Intel Inspector XE (short talk+practical)
11:00 How to write efficient OpenMP programs (talk)
11:15 Heat equation (talk+practical)
13:30 Heat equation (practical — continued)
14:15 Vectorization with OpenMP (talk)
14:45 Thread affinity in OpenMP (talk)
15:30 The taskloop directive (talk+practical)
16:30 End of second day (course)