High Performance Computing I

This lecture provides an introduction to parallel computer architectures and standard programming interfaces for parallel numerical algorithms. We focus on few numerical algorithms like dense matrix multiplications and LU decompositions which allow us to approach step by step the theoretical peak performance.

Contents

  • Introduction to the programming language C++ with a special focus on numerical linear algebra
  • Memory hierarchies
  • Parallel computer architectures
    • shared memory with POSIX threads and OpenMP
    • distributed systems with MPI
    • GPUs

Schedule

  • Lecture: Monday, 2 pm to 6 pm, Helmholtzstraße 18, room E.20, and in the labs Helmholtzstraße 18, room E.44, and O27/211.
  • Lab: Friday, 2 pm to 4 pm, Helmholtzstraße 22, room E.04, and in the labs Helmholtzstraße 18, room E.44, and O27/211. Please note that Friday sessions are open-ended, i.e. we provide support in the labs until 6 pm.

The first lecture will be on Monday, 17 October 2016.

Prerequisites

Linear algebra, calculus, numerical linear algebra, and programming are required. We expect some basic knowledge of C. Knowledge of C++ is not required as we provide an introduction to C++. Introduction to High Performance Computing is recommended but not strictly required. Consider, however, that probably considerable more time will be required for the assignments of the lab sessions without the associated introductory lecture of the bachelor program.

Exams

The exams will be held orally in March, and April 2017. An oral exam takes about 45 minutes. You are free to chose English or German as exam language. An active and successful participation in the labs (at least 12 points in our quizzes) and an registration for the exam at HIS is required. Following days are offered for oral exams:

  • 13 March 2017 (two slots available)
  • 17 March 2017 (one slot available)
  • 4 April 2017 (no free slots left)
  • 7 April 2017 (no free slots left)

To register for one of the free slots (available before noon and at afternoon) send an email to Andreas F. Borchert.

Lectures

Resources and examples of the lectures will be posted here:

Lab sessions

Lab sessions will be held on Monday and Friday. Each session comes with an online guide that summarizes the preceding lecture and provides practical exercises. We will provide support in the labs on Monday and Friday until 6pm.

A registration at SLC for HPC I is necessary to participate in the lab sessions.

We have eight quizzes for some of the sessions which are due one week later:

NumberIssuedDeadlinePDF
0117 October 201624 October 2016, 2pmPDF
0224 October 201631 October 2016, 2pmPDF
034 November 201611 November 2016, 2pmPDF
0414 November 201621 November 2016, 2pmPDF
0528 November 20165 December 2016, 2pmPDF
0616 December 201623 December 2016, 2pmPDF
0720 January 201727 January 2017, 2pmPDF
0827 January 20173 February 2017, 2pmPDF

An extra quiz has been issued on 10 February 2017 giving the opportunity to get up to three points more for all who fall short of reaching the required minimum of 12 points. Please submit this quiz only if you have less than 12 points at the moment. The deadline for this quiz is 17 February 2017, 2pm (sharp!).

Useful resources

Kontakt

Dr. Andreas F. Borchert
Helmholtzstr. 20
Raum 1.23

Dr. Michael Lehn
Helmholtzstr. 20
Raum 1.09

M. Sc. Mladjan Radic
Helmholtzstr. 20
Raum 1.64