High Performance Computing - Programming Models and Scalability
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 SS 2012
There are historic module descriptions of this module. A module description is valid until replaced by a newer one.
Whether the module’s courses are offered during a specific semester is listed in the section Courses, Learning and Teaching Methods and Literature below.
|available module versions|
|SS 2022||SS 2012||WS 2011/2|
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 workload||Contact hours||Credits (ECTS)|
|120 h||45 h||4 CP|
Content, Learning Outcome and Preconditions
- 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.)
Courses, Learning and Teaching Methods and Literature
Courses and Schedule
|VU||3||Parallel and High-Performance Computing (IN2013)||
Tue, 12:00–14:00, MI 02.07.023
Wed, 10:00–12:00, MI 02.07.023
and singular or moved dates
Learning and Teaching Methods
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.
- 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
Description of exams and course work
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.
The exam may be repeated at the end of the semester.