Parallele Programmierung
Parallel Programming

Modul IN2147

Dieses Modul wird durch Fakultät für Informatik bereitgestellt.

Diese Modulbeschreibung enthält neben den eigentlichen Beschreibungen der Inhalte, Lernergebnisse, Lehr- und Lernmethoden und Prüfungsformen auch Verweise auf die aktuellen Lehrveranstaltungen und Termine für die Modulprüfung in den jeweiligen Abschnitten.

Basisdaten

IN2147 ist ein Semestermodul in Englisch auf Bachelor-Niveau und Master-Niveau das im Sommersemester angeboten wird.

Das Modul ist Bestandteil der folgenden Kataloge in den Studienangeboten der Physik.

  • Allgemeiner Katalog der nichtphysikalischen Wahlfächer
GesamtaufwandPräsenzveranstaltungenUmfang (ECTS)
150 h 60 h 5 CP

Inhalte, Lernergebnisse und Voraussetzungen

Inhalt

The course starts with a motivation for parallel programming and a classification of parallel architectures. It focuses first on parallelization for distributed memory architectures with MPI. It introduces the major concepts, e.g., point to point communication, collective operations, communicators, virutal topologies, non-blocking communication, single-sided communication and parallel IO. In addition, it covers the overall parallelization approach based on four phases, i.e., decomposition, assignment, orchestration and mapping. The next section presents dependence analysis as the major theoretical basis for parallelization. It introduces program transformations and discusses their profitability and safety based on data dependence analysis. The second major programming interface in the course is OpenMP for shared memory systems. This section covers most of the language concepts as well as proposed extensions. In the last part, the lecture presents novel programming interfaces, such as PGAS languages, threading building blocks, CUDA, OpenCL, and OpenACC.

Lernergebnisse

At the end of the module students are able to create parallel programs in MPI and OpenMP. They understand the performance aspects of differenct parallelization strategies and can evaluate those parallelization strategies in the context of applications. They are able to apply data dependence analysis and program transformations. They can analyze and tune the performance of parallel applications.

Voraussetzungen

IN2076 Rechnerarchitektur

Lehrveranstaltungen, Lern- und Lehrmethoden und Literaturhinweise

Lehrveranstaltungen und Termine

ArtSWSTitelDozent(en)Termine
VU 4 Parallel Programming (IN2147) Mittwoch, 08:15–09:45
Montag, 16:00–18:00

Lern- und Lehrmethoden

The different parallel programming models and parallelization techniques are introduced in the lecture. Voluntary short student presentations demonstrate the techniques in application areas. Within a central exercise session, assignments are presented and discussed. The students solve the assignments and submit the solutions which are checked for correctness. In the assigments the students apply the learned concepts to larger example programs.

Medienformen

Slides

Literatur

- MPI: A Message-Passing Interface Standard (Language Standard) - OpenMP: Open Application Program Interface (Language Standard) - R. Allen, K. Kennedy: Optimizing Compilers for Modern Architectures, Morgan Kaufmann - David E. Culler et.al.: Parallel Computer Architecture: A Hardware / Software Approach, Morgan Kaufmann

Modulprüfung

Beschreibung der Prüfungs- und Studienleistungen

The exam takes the form of a written exam. Questions allow to asses acquaintance with the concepts of parallel programming models, languages, and tools. Code snippets of sequential and parallel programs are given. Students apply their knowledge on dependence analysis and code transformations to these codes. Based on code snippets the students apply the learned parallel models to demonstrate their ability to evaluate different parallelization strategies, to parallelize code, and tune applications.

Wiederholbarkeit

Eine Wiederholungsmöglichkeit wird im Folgesemester angeboten.

Kondensierte Materie

Wenn Atome sich zusammen tun, wird es interessant: Grundlagenforschung an Festkörperelementen, Nanostrukturen und neuen Materialien mit überraschenden Eigenschaften treffen auf innovative Anwendungen.

Kern-, Teilchen-, Astrophysik

Ziel der Forschung ist das Verständnis unserer Welt auf subatomarem Niveau, von den Atomkernen im Zentrum der Atome bis hin zu den elementarsten Bausteinen unserer Welt.

Biophysik

Biologische Systeme, vom Protein bis hin zu lebenden Zellen und deren Verbänden, gehorchen physikalischen Prinzipien. Unser Forschungsbereich Biophysik ist deutschlandweit einer der größten Zusammenschlüsse in diesem Bereich.