5-6 November 2020
ONLINE COURSE
Europe/Vienna timezone

Dr. Claudia Blaas-Schenner

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)

Starts
Ends
Europe/Vienna
ONLINE COURSE
VSC Research Center, TU Wien

Prerequisites:

For the hands-on sessions you should know how to work on the Unix/Linux command line and be able to program in either C/C++ or Fortran.

Hands-on labs:

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.
Language: English

Teachers:

Prof. Lukas Einkemmer and Dr. Philipp Gschwandtner (University of Innsbruck),
Dr. Claudia Blaas-Schenner and David Fischak (practicals only; VSC Research Center, TU Wien)
Registration: Registration form – Registration period is from 28 September 2020 to 30 October 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.
Fees: This course is a PRACE Training Center (PTC) event. Therefore, the course is free of charge for all participants from the EU or from PRACE-member-countries.
Further webpages: This course is also announced by the VSC Research Center, TU Wien and HLRS.