Parallel Programming of High Performance Systems @ RRZE

Date: Monday, March 12 - Friday, March 16, 2018, 9:00-18:00
Location: RRZE Building, University Campus Erlangen, Martensstr. 3, 91058 Erlangen, room 02.135
Contents:

This course, a collaboration of Erlangen Regional Computing Centre (RRZE) and LRZ, is targeted at students and scientists with interest in programming modern HPC hardware, specifically the large scale parallel computing systems available in Jülich, Stuttgart and Munich.

Each day is comprised of approximately 4 hours of lectures and 3 hours of hands-on sessions.

Tentative schedule:

Day 1

  • Introduction to High Performance Computing (Weinberg)
  • Programming Environment at LRZ, Secure shell (Weinberg)
  • Handling console and GUI based interfaces (Weinberg)
  • Source code versioning with SVN and git (Martone)
  • Building programs with GNU MAKE (Martone)

Day 2

  • Basic parallel programming models: elements of MPI and OpenMP (Weinberg)
  • Guided Tour (Hager)
  • Processor architectures (Hager)

Day 3

  • Principles of code optimization: unrolling, blocking, dependencies, C++ issues, bandwidth issues, performance projections (Hager)
  • Advanced MPI programming (Wittmann)

Day 4

  • Parallel architectures: multi-core, multi-socket, ccNUMA, cache coherence and affinity, tools for handling memory affinity (Hager)
  • Parallel algorithms: data parallelism, domain decomposition, task parallelism, master-worker, granularity, load balancing, scalability models (Hager)
  • Advanced OpenMP programming (Weinberg)
  • Intel tools: OpenMP performance and correctness (Wittmann)
  • Social Event: Pizza and Talk "Fooling the masses" by G. Hager

Day 5

  • Basics of software engineering (Navarrete)
  • Performance analysis with Score-P and Scalasca (Navarrete)
  • Performance analysis tools: Intel APS and ITAC (Iapichino)
  • Performance analysis tools: Intel VTune Amplifier amd Advisor (Iapichino)
Prerequisites Good working knowledge of at least one of the standard HPC languages: Fortran 95, C or C++.
Language: English
Teachers: G. Hager, M. Wittmann (RRZE), L. Iapichino, M. Martone, C. Navarrete, V. Weinberg (LRZ)
Registration:

Via the LRZ registration form.

Hands-on:

The exercises will be done on the CoolMUC-3 system at LRZ.

Contact: Dr. Volker Weinberg (LRZ)