Navigation and service

Training course "Parallel Programming of High Performance Systems" @ RRZE Erlangen

12.Mar.2018 09:00
16.Mar.2018 18:00
RRZE Erlangen

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.

Day 1

  • Introduction to High Performance Computing (Weinberg)
  • Secure shell (Weinberg)
  • Source code versioning with SVN and GitLab (N.N.)
  • Handling console and GUI based interfaces (Weinberg)
  • Building programs with GNU MAKE (Weinberg)

Day 2

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

Day 3

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

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 MPI programming (Wittmann)
  • Basics of software engineering (Navarrete)

Day 5

  • Intel tools: OpenMP performance and correctness (Wittmann)
  • Performance analysis with Score-P and Scalasca (Navarrete)
  • Intel tools: MPI tracing and Checking (Iapichino)
  • Intel VTune (Iapichino)