Parallel Programming of High Performance Systems

Date: Monday, March 07 - Friday, March 11, 2016, 9:00-18:00

RRZE building, University campus Erlangen, Martensstr. 3, 91058 Erlangen, room 02.135

Via video conference at LRZ (lecture room, H.E.009).



The training course will start on 07.03.2016  at 09:00 am in the RRZE building, room 02.135, University campus Erlangen, Martensstr. 3, 91058 Erlangen.

We are happy to announce that there will be a video transmission of the basic Parallel Programming HPC course at RRZE to LRZ in Garching b. München (lecture room, H.E.009). We invite all interested users in the Munich area to join the transmission. Since there are many places available in the lecture hall, there is no registration deadline for the video transmission, however we would greatly appreciate it if you could send an E-mail to if you want to join the video transmission at LRZ and have not registered yet. Please mind that there will be no hands-on sessions at LRZ.

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)
  • Secure shell (Weinberg)
  • Source code versioning with SVN (Guillen)
  • Handling console and GUI based interfaces (Weinberg)
  • Building programs with GNU MAKE (Guillen)

Day 2

  • Basic parallel programming models: elements of MPI and OpenMP (Weinberg)
  • Basics of software engineering (Guillen)
  • 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

  • Advanced OpenMP programming (Weinberg)
  • 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)

Day 5

  • Intel tools: OpenMP performance and correctness (Wittmann)
  • Intel tools: MPI tracing and Checking (Karmakar)
  • Intel VTune (Baruffa)
  • Performance analysis with Score-P and Scalasca (Karmakar)
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), F. Baruffa, C. Guillen, A. Karmakar, V. Weinberg (LRZ)

Via the LRZ registration form. Please choose course HPPB1W15.

If you are interested in participating in the video conference at Garching, please send an e-mail to Volker Weinberg to inform about your interest in the video conference (registration is still open).


The exercises will be done on the SuperMIC system at LRZ.

Contact: Dr. Volker Weinberg (LRZ)

The exercises will be done on the SuperMIC system at LRZ.