Lecture High Performance Computing



We will implement the flipped classroom concept and the lecture will be held online. That means that the lecture has been broken up into subsections of 20 - 30 minutes length each, and these subsections will be provided as videos here. We will also add supplemental material, quizzes, and so forth. The scheduled lecture slots will be used as interactive question-and-answer sessions (hybrid) to address the lecture parts that were made available during the week before.


The organization introduction meeting will take place on Tuesday, October 17th, from 10:30 to 12:00 in PPS H1, 2315|101, Prof.-Pirlet-Str. 12 and via Zoom videoconferencing (hybrid). The link will be published in the Moodle course room. Please register via RWTHonline for the lecture to get access to the course room (see below).

  • Weekly Q&A session: Tuesday, 10:30 - 12:00 (hybrid, PPS H1, 2315|101, Prof.-Pirlet-Str. 12, Zoom)
  • Exercise discussion: Monday, 12:30 - 14:00 (hybrid, AH VI, 2356|051, Ahornstraße 55, Zoom)

Participation in the Q&A session is optional.


Registration for the lecture is organized via RWTHonline.


Materials are published in the Moodle course room. You get access by registering via RWTHonline.


In case of organizational questions, please write a mail to contact@hpc.rwth-aachen.de.


The increasing complexity of scientific simulations solving problems in the natural sciences requires the use of suitable parallel computer systems. The efficient use of parallel computers necessitates an understanding of the microarchitecture to enable the development of strategies for using parallelism and optimizing performance. Furthermore, the simulation codes must be adapted at the level of parallel programming models or parallel algorithms correspondingly. In this lecture, prevalent methods and tools will be presented which are applied in the field of high-performance computing.

The objectives of the lecture are the comprehension of essential parallel computer architectures, knowledge of basic design methods and optimization strategies for serial and parallel algorithms, methods for runtime analysis of parallel applications, as well as the basic understanding of fundamental operations of parallel programming.


  • Characteristics of micro architectures
  • Parallel computer architectures
  • Network topologies
  • Blocking algorithms to exploit data locality in deep memory hierarchies
  • Design principles of parallel algorithms
  • Modelling parallelism (speedup, efficiency, Amdahl) and performance
  • Introduction to parallel programming
  • Further selected topics