NUMMER: | 127501 |
KÜRZEL: | PComb |
MODULBEAUFTRAGTE:R: | Prof. Dr.-Ing. Markus König |
DOZENT:IN: | Prof. Dr. Markus König, Dr. Karlheinz Lehner |
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. Team project + oral examination |
TERMIN: | Siehe Prüfungsamt. |
LERNFORM
lectures
∙ exercises using computers
∙ team projects
LERNZIELE
Goals of the course “Parallel Computing” include a basic understanding of the theoreticalfoundation for efficient parallel algorithms, the architecture of parallel hardware systems and
current parallel software paradigms used in research and industry today. Also, students learn
how to develop parallel algorithms and implement them using state-of-the-art software systems
and programming tools. In particular, numerically intensive engineering applications
are a focus within the lecture itself as well as a target for the team projects carried out by
the students of this course. Further, students must clearly present their projects results in
a classroom setting to an audience with various technical background (the course is attended
by students from applied computer science as well as by students from computational
engineering).
When the students have successfully complete this course,
∙ students will be familiar with the development of parallel algorithms and parallel software
systems and have a good unterstanding of how to realisize efficient parallel programs;
∙ students will have a good understanding of the basics of parallel programming to be able
to, for example, select a proper parallel software system or tool that is appropriate for
a given numerical engineering task, or be able to discuss possible solutions concerning
necessary hardware or software requirements at a competent level.
INHALT
Introduction to parallel computing using examples from the field of engineering∙ Theoretical foundations of parallel computing (concurrency, parallel processes, deadlocks,
Amdahl’s Law, Flynn’s taxonomy, efficiency metrics, memory models, etc.)
∙ Parallel programming based on “shared memory” using the OpenMP application programming
interface
∙ Parallel programming based on “distributed memory” based the Message Passing Interface
(MPI)
Hardware based parallel programming based on the General Purpose Graphical Processing
Unit (GPGPU)
∙ Application of parallel programming paradigms to solve engineering tasks as a team
project
VORAUSSETZUNGEN CREDITS
Successful completion of a team project; presentation of project results in the classroom; oral examination.
EMPFOHLENE VORKENNTNISSE
Programmierkenntnisse in den Sprachen C, C++ oder Java
LITERATUR
A. Schill, Th. Springer, "Verteilte Systeme", Springer-Verlag, 20072. Th. Raubner, G. Rünger, "Parallele Programmierung", Spring-Verlag, 2007
3. G. Bengel, et. al., "Masterkurs Parallele und Verteilte Systeme", Vieweg+Teubner,
2008