High-Performance Computing on Multi- and Manycore Processors

NUMMER: n.n.
KÜRZEL: HPerfMC
MODULBEAUFTRAGTE:R: Prof. Dr. Andreas Vogel
DOZENT:IN: Jun. Prof. Dr. Andreas Vogel
FAKULTÄT: Fakultät für Bau- und Umweltingenieurwissenschaften
SPRACHE: Englisch
SWS: 4 SWS
CREDITS: 6 CP
ANGEBOTEN IM: jedes Sommersemester

PRÜFUNGEN

FORM: Semesterbegleitend; Hausarbeit
TERMIN: Siehe Prüfungsamt.

LERNFORM

Beamer, computer lab, numerical experiments

LERNZIELE

In this module, the students acquire professional skills to program multi- and manycore
processors employing multi-threaded execution and handling shared-memory access patterns.
Theoretical properties are conveyed as well as practical implementation. Via presentations
of selected topics, students attain the ability to survey and acquire knowledge on advanced
scientific topics independently and are qualified to illustrate such topics in the form of a
presentation and numerical examples.

INHALT

The lecture addresses parallelization for multi- and manycore processors. Thread-based programming
concepts (pthreads, C++11 threads, OpenMP, OpenCL) are introduced and bestpractice
implementation aspects are highlighted based on applications from scientific computing.
In the first part, the lecture provides an overview on relevant data structures, solver
techniques and programming patterns from scientific computing. An introduction to multithreading
programming on multicore systems is then provided with special attention to
shared-memory aspects. Parallelization patterns are discussed and highlighted. Numerical
experiments and self-developed software implementations are used to discuss and illustrate
the presented content. In the second part, students are assigned advanced topics for sharedmemory
computation from the engineering science including finite element methods and artificial
intelligence. Based on a scientific paper, students present their topic to the lecture
audience in form of a beamer presentation and numerical illustrations.

VORAUSSETZUNGEN CREDITS

mit mindestens ausreichend bewertete Hausarbeit

EMPFOHLENE VORKENNTNISSE

Keine

LITERATUR

∙ G. Hager, G.Wellein, Introduction to High Performance Computing for Scientists and
Engineers, CRC Press, 2010
∙ T. Rauber, G. Rünger, Parallel Programming: for Multicore and Cluster Systems,
Springer, 2013
∙ OpenMP Application Programming Interface (2015), www.openmp.org/wpcontent/
uploads/openmp-4.5.pdf
∙ OpenCL Appilication Programming Interface (2014),
www.khronos.org/registry/OpenCL/specs/opencl-1.2.pdf
∙ additional literature will be announced in the lecture