OpenMP-Workshop

PRACE

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


OpenMP-LRZ-small

© 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

Intro and IvyMUC Usage

Day 1

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

0-Welcome.pdf
1-The OpenMP Common Core.pdf
2-Parallelization-with-Patterns.pdf
P1-Practicals-PI-LULESHmk.pdf
Worksheet.pdf
Workshop-Feb20-examples.zip

Day 2 & 3

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

Advanced OpenMP Programming

Exercises Tasks

Exercises Other

exercises.tar

Wrap-up and future courses

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:

  • Install X11 support for MacOS XQuartz:  https://www.xquartz.org/
  • Open Terminal
  • ssh -Y lxlogin10.lrz.de -l username
  • Use user name and password (provided by LRZ staff)

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/


How to arrive:

augustiner