PRACE Course: OpenMP Programming Workshop 2020

Overview

With the increasing prevalence of multicore processors, shared-memory programming models are essential. OpenMP is a popular, portable, widely supported, and easy-to-use shared-memory model.

Since its advent in 1997, the OpenMP programming model has proved to be a key driver behind parallel programming for shared-memory architectures.  Its powerful and flexible programming model has allowed researchers from various domains to enable parallelism in their applications.  Over the more than two decades of its existence, OpenMP has tracked the evolution of hardware and the complexities of software to ensure that it stays as relevant to today’s high performance computing community as it was in 1997.

This workshop will cover a wide range of  topics, reaching from the basics of OpenMP programming using the "OpenMP Common Core" to really advanced topics. During each day lectures will be mixed with hands-on sessions on the LRZ system IvyMUC.

Group Picture



© Alessandro Podo (LRZ)

The group picture in full resolution can be found here.

Preliminary Agenda


Day 1

Day 2

Day 3

09:00-10:30

Introduction to the OpenMP common core

Tasking

Offloading to Accelerators

10:30-10:45

Coffee Break

Coffee Break

Coffee Break

10:45-12:00

Decomposing code into patterns for parallelization

Tasking

Other Advanced Features of OpenMP 5.0

12:00-13:00

Lunch Break

Lunch Break

Lunch Break

13:00-14:45

Beyond OpenMP common core with tasking and offloading

Host Performance: NUMA

Tools for Performance and Correctness

14:45-15:00

Coffee Break

Coffee Break

Coffee Break

15:00-17:00

Hands-on time with Parallelware Trainer

Host Performance: SIMD

Roadmap / Outlook
(until 16:30)


17:00-18:00 Guided SuperMUC-NG Tour

19:30 Social Event (Augustiner)



Lecturers

Teachers:Dr. Manuel Arenaz (Appentra Solutions),  Dr.-Ing. Michael Klemm (Intel Corporation), Dr. Christian Terboven (RWTH Aachen University)
Assistants:Dr. Michele Martone (LRZ)

Material

Day 1

Material provided under /lrz/sys/courses/openmp/Appentra/


Day 2 & 3

Material provided under /lrz/sys/courses/openmp/exercises/

Exercises

Day 1: Workshop-Feb20-examples.zip

Day 2&3: exercises.tar

Survey

Please fill out the survey under https://events.prace-ri.eu/event/947/surveys/633


IvyMUC Usage

General Information about the Linux-Cluster:

https://doku.lrz.de/display/PUBLIC/Linux+Cluster

Login to the system:

ssh -Y lxlogin10.lrz.de -l hpckurs??

Load pwtrainer module:

module use -a  /lrz/sys/share/modules/extfiles

module load pwtrainer

Load recent gcc version

module load gcc

module load gcc/9

do not use old gcc 4.8 version under /usr/bin/gcc , which is the gcc used when not loading any gcc module

Run pwtrainer:

pwtrainer

Sample batch file:

/lrz/sys/courses/openmp/job.sh

Submit a job:

sbatch --reservation=homp1w19_course  job.sh

srun --reservation=homp1w19_course program

List own jobs:

squeue -M ivymuc -u hpckurs??

Cancel jobs:

scancel jobid

Interactive Access: (not recommended for this course)


salloc --nodes=1 --time=02:00:00 --reservation=homp1w19_course  --partition=ivymuc_batch

srun --reservation=homp1w19_course --pty bash

X11 and ssh Clients

Login under Windows:

Login under Mac:

Login under Linux:

  • Open xterm
  • ssh -Y lxlogin10.lrz.de -l username
  • Use user name and password (provided by LRZ staff)


Social Event   

Place guaranteed only for participants who signed up for the social event (12 persons).

Wednesday, 12 February 2020, 19:30 - open end

Garchinger Augustiner

Gesindehaus GmbH
Freisinger Landstraße 4
85748 Garching b. München

089 20 966 739

http://www.garchinger-augustiner.com/