de | en

High Performance Computing - Programming Models and Scalability

Module IN2013

This Module is offered by TUM Department of Informatics.

This module handbook serves to describe contents, learning outcome, methods and examination type as well as linking to current dates for courses and module examination in the respective sections.

Module version of WS 2011/2

There are historic module descriptions of this module. A module description is valid until replaced by a newer one.

available module versions
SS 2012WS 2011/2

Basic Information

IN2013 is a semester module in German or English language at Bachelor’s level and Master’s level which is offered in summer semester.

This Module is included in the following catalogues within the study programs in physics.

  • Catalogue of non-physics elective courses
Total workloadContact hoursCredits (ECTS)
120 h 45 h 4 CP

Content, Learning Outcome and Preconditions


- Introduction (classification, levels of parallelism, performance evaluation, network topologies)
- Foundations of parallel programs (notions and notations, synchronization and communication via shared memory or via exchange of messages, resp., parallel program structures, design of parallel programs)
- Programming memory-coupled systems (cache coherence, memory consistency, variable analysis, programming with OpenMP)
- Programming message-coupled systems (message-passing paradigm, programming wih MPI)
- Dynamic load balancing (basics, selected strategies, load balancing with space-filling curves)
- Examples of parallel algorithms (bitonic sorting, e.g.)

Learning Outcome

After the successful participation at the module, students are able to identify parts of sequential algorithms or programs with respect to their parallelisation potential. They can select and apply appropriate parallelisation strategies. Furthermore, they are familiar with the essential characteristics of memory or message coupled parallel systems and their programming to the extent that they are able to implement given or self-developed parallel algorithms as efficient parallel programs (OpenMP or MPI) on such systems.


no info

Courses, Learning and Teaching Methods and Literature

Courses and Schedule

VI 3 Parallel and High-Performance Computing (IN2013) Mundani, R. Wed, 10:00–12:00, MI 02.07.023
Tue, 12:00–14:00, MI 00.13.009A
and singular or moved dates

Learning and Teaching Methods

This module comprises lectures and accompanying tutorials. The contents of the lectures will be taught by talks and presentations.
Students will be encouraged to study literature and to get involved with the topics in depth. In the tutorials, concrete problems will be solved - partially in teamwork - and selected examples will be discussed.


Slides, whiteboard, exercise sheets


- G. Alefeld, I. Lenhardt, H. Obermaier: Parallele numerische Verfahren, Springer, 2002
- I. Foster: Designing and Building Parallel Programs, Addison-Wesley, 1995, and evolving online version
- A. Grama, A. Gupta, G. Karypis, V. Kumar: Introduction to Parallel Computing, Addison Wesley, sec. ed. 2003
- M. J. Quinn: Parallel Programming in C with MPI and OpenMP, McGraw-Hill, 2003
- H. Sagan: Space-Filling Curves, Springer, 1994
- T. Ungerer: Parallelrechner und parallele Programmierung, Spektrum, 1997

Module Exam

Description of exams and course work

Type of Assessment: exam

The exam takes the form of a 90 minutes written test. In the exam students should prove to be able to identify a given problem and find solutions within limited time. The examination will completely cover the content of the lectures. The answers will require own formulations. In addition, questions requiring short calculations may be posed. The exam questions allow to asses the students' capability to identify parts of sequential algorithms or programs with respect to their parallelisation potential and to select and apply appropriate parallelisation strategies. The participants demonstrate that they are familiar with the essential characteristics of memory or message coupled parallel systems and their programming.

Exam Repetition

The exam may be repeated at the end of the semester.

Top of page