Lecture High Performance Computing

 

Organization

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 via Zoom to address the lecture parts that were made available during the week before.

Schedule

The organization introduction meeting will take place on Wednesday, October 13th, from 12:30 to 14:00 via Zoom videoconferencing. 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: Monday, 12:30 - 14:00 (online, partly in-person)
  • Exercise discussion: Friday, 12:30 - 14:00 (online)

Participation in the Q&A session is optional.

Registration

Registration for the lecture is organized via RWTHonline.

Materials

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

Contact

In case of organizational questions, please write a mail to .

Description

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.

Content

  • 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