Personal tools

HPC - Algorithms and Applications - Winter 17

From Sccswiki

Jump to: navigation, search
Winter 17/18
Prof. Dr. Michael Bader
Time and Place
Mon, 14-16 in room MI 02.07.023 (first lecture: Wednesday, October 18th, 12:15-13:45, MI 02.07.023)
Wed, 12-14, in room MI 02.07.023 (first exercise: Monday, October 23rd, 14:15-15:45)
not all slots will be used; please refer to TUMonline for detailed schedule
Elective topic in Informatics Bachelor/Master: students in mathematics or in any science or engineering discipline are welcome!
Alexander Pöppl
Thu, Mar 1, 2018; from 13:15 in Interim 2 (see details below)
Semesterwochenstunden / ECTS Credits
3 SWS (2V + 1Ü) / 4 ECTS



  • there will be an extra session on Monday, Feb 19 (14-16) for questions concerning exam preparation
  • there will be no lecture on Monday, Oct 30; we will add a lecture on a Wednesday later in the term
  • there will be no lectures on the first day of the semester, i.e., on Monday Oct 16
  • hence, the first lecture will be held on Wednesday, Oct 18, 12-14 (in the tutorial slot)


The lecture will have a focus on parallel algorithms and implementation techniques in the field of numerical simulation and high performance computing, such as:

  • linear algebra problems on dense and sparse matrices
  • simulation on structured and unstructured meshes
  • particle-based simulations (with long-range and short-range interactions)
  • spectral methods (parallel FFT and related algorithms)
  • Monte Carlo and statistical methods

(a.k.a. the seven dwarfs of HPC).

The accompanying tutorials will include practical assignments, and will concentrate on the programming of GPU and accelerator platforms.

Lecture Material

Lecture slides will be published/updated here after the lessons. See also the lecture from winter term 2016/17.


Roughly every second week a two hour tutorial will take place (details at page top; days and time will be announced in TUMonline and in the lectures). The assignments and their solutions will be gradually posted here.

Date Slides Worksheet Source Source (solution)
Oct 23th Organizational remarks
Oct 25th Introduction to CUDA Worksheet 1 T1.1 T1.2/HW included in Exercise 2
Nov 6th Dense Linear Algebra in CUDA Worksheet 2 T2.2 H2.1 Solution 2
Nov 22nd Sparse Linear Algebra in CUDA Worksheet 3 T3.2 H3.1 included in Exercise 4
Dec 4th Solving the heat equation with CUDA Worksheet 4 T1.1a T1.1b H4.1 Solution 4
Dec 20th Performance Modelling Worksheet 5 - Solution 5
Jan 17th The Shallow Water Equations and CUDA Worksheet 6 Exercise 6
Jan 31st Further topics on SWE and CUDA Worksheet 7 Exercise 7 -


  • written exam (regular exam and repeat exam will be offered; see below)
  • if only few students register for the exam or repeat exam, the respective exam may be executed as a 30min oral exam for each student
  • Helping material (for written exam only): One sheet of A4 paper (two-sided) with hand-written notes on it.
  • The exam will extend over all topics discussed in the lectures and tutorials:
    • approx. 30% of the questions will deal with questions related to the tutorials; basic knowledge about GPU programming with CUDA is thus necessary
  • Practice exam questions with example solutions
  • Questions concerning exam topics: there will be a respective "all questions answered" session on Mon, Feb 19 (14-16)

End-Term Exam

  • Written Exam on Thursday, Mar 1, 2018 - 13:30-15:00 in Interim 2 (black building in front of Informatics building)
    • please be in the lecture room in time (by 13:15); the exam will start on 13:30, at the latest, and there will be announcements before the start!

Repeat Exam

  • currently scheduled on Apr 3, 2018 (date finalized at registration for the exam)

Literature and Online Material

(all available as ebooks from TUM library)

Books on CUDA

(both available as ebooks from TUM library)


Helpful, but not strictly required is knowledge in:

  • basics of numerical methods (e.g.: lecture IN0019 Numerical Programming or similar)
  • basics of parallel programming (lecture Parallel Programming, HPC - Programming Paradigms and Scalability, or similar)

Most important is a certain interest in problems from scientific computing and numerical simulation!