Logo: Leibniz Universität Hannover

Parallel Programming of High Performance Systems

Kurs an Parallel Programmierung bzw. Optimierung vom RRZE und LRZ.  Der Kurs findet am RRZE statt aber wird per Video-Konferenz am LRZ, RRZN und Uni-Greifswald auch stattfinden.  Übungen finden nur am RRZE und RRZN statt.

Kursmaterialien am RRZN auf Orac oder Avon: /sw/kurse/PPHPS/2012/

Kursmaterialien am RRZE: http://moodle.rrze.uni-erlangen.de/moodle/course/view.php?id=111

Man kann sich als "Guest" einloggen aber um an Diskussionen im Forum usw. teilzunehmen, muss man sich registrieren.

Day 1

The lectures on day 1 cover general tools and practices that are useful for working in programming environments, and specifically when dealing with HPC systems.

  • Welcome and general remarks
  • Introduction to HPC
  • Environment Modules
  • Secure connections with SSH
    • Exercise: Working with the RRZE Westmere cluster "LiMa"
  • Managing source code with SVN
    • Exercise: Using SVN
    • RRZN Kurs an SVN und Git
  • Introduction to GNU make
    • Exercise: Using GNU make
  • Basics of Software Engineering
  • User Interfaces

Day 2

Day 2 gives an introduction to the dominant HPC programming models (MPI and OpenMP) as well as to computer architecture on a general level.

  • Elementary MPI and OpenMP
    • Working with likwid-topology and likwid-pin
    • Intro: MPI on the LiMa cluster
    • Exercise: ? by the Monte Carlo method
    • Exercise: OpenMP-parallel vector triad
    • Exercise: Parallelization of a raytracer code
    • Exercise: Eliminating recursion
  • Introduction to computer architecture
    • Exercise: Measuring FP divide latency
    • Exercise: Benchmarking the memory hierarchy
    • Exercise: Indirect access
    • Exercise: A simple heat equation solver

Day 3

On day 3 we cover the principles of serial code optimization, and in the afternoon we get an in-depth look at MPI.

  • Principles of serial code optimization
    • Exercise: Unrolling with a twist
    • Exercise: Matrix-matrix multiply
    • Exercise: General code optimization
    • Exercise: Optimizing a 3D Jacobi solver
  • Libraries for HPC
  • MPI programming
  • Evening event at RRZE

Day 4

The lectures of day 4 introduce parallelism on a theoretical level (parallel patterns, performance models) and the different variants and structures of parallel computer systems. OpenMP as the dominant shared-memory parallel programming model is covered in depth.

  • Parallel Algorithms
  • Parallel Libraries
  • OpenMP Programming
    • Exercise: Parallel triangular MVM
    • Exercise: Parallel histogram computation
  • Parallel architectures in depth

Day 5

Day 5 is dedicated to advanced architectures specific optimization techniques.

  • Hardware Specific Optimization
    • Exercise code: Getting familiar to assembly language
    • Exercise: Getting familiar with assembly language
    • Exercise code: Playing with the triad benchmark
    • Exercise: Investigate instruction code

Leibniz Universität IT Services - URL: www.rrzn.uni-hannover.de/pphps_rrze.html?&L=2
 
Dr. Gerd Brand, Letzte Änderung: 09.03.2012
Copyright Gottfried Wilhelm Leibniz Universität Hannover