zur Startseite

Vorlesung - HPC (SS18)

High Performance Computing
Dozent Dr.-Ing. Martin Bernreuther
Umfang3V + 1Ü
Sprache Deutsch
Studiengänge Informatik
Softwaretechnik
Simulation Technology
Zielgruppe Master
TermineMontags, 14:00-15:30, V38.02
Mittwochs, 11:30-13:00, V38.02
Kurzbeschreibung

Die Vorlesung beschäftigt sich mit den Grundlagen paralleler Programmierung und paralleler Algorithmen speziell im Hinblick auf die Anwendungsbereiche Wissenschaftliches Rechnen und High Performance Computing.

Verwandte Fragestellungen aus dem Bereich der Theorie (parallele Modelle und parallele Komplexität, etc.) sowie aus der Rechnertechnik (parallele Architekturen) werden begleitend diskutiert.

Nach einer allgemeinen Einführung (Klassifizierung von Parallelrechnern, Ebenen von Parallelität, Performance und Architekturen, etc.), werden die Grundlagen paralleler Programme eingeführt (Notation/Syntax, Synchronisation und Kommunikation, Design paralleler Programme, etc.). Sowohl die Programmierung auf Systemen mit gemeinsamem Speicher als auch auf Systemen mit verteiltem Speicher werden besprochen. Dabei wird jeweils mindestens ein geeignetes Programmiermodell (z.B. OpenMP, MPI, CUDA) vertieft behandelt.

Aus dem Bereich des High Performance Computing werden begleitend klassische Algorithmen und Implementierungstechniken als Beispiele behandelt, z.B. parallele Algorithmen aus der linearen Algebra (Matrixmultiplikation, etc. oder einfache Verfahren zur Lösung partieller Differentialgleichungen. Zusätzlich können Themen wie Lastverteilung und Lastbalancierung (Grundlagen, Algorithmen zur Partitionierung und Lastbalancierung, etc.) vorgestellt werden.

Die Veranstaltung richtet sich an Studierende im Masterstudium (Katalog MINF oder Vertiefungslinie Theoretische Informatik und Wissenschaftliches Rechnen) oder im Hauptstudium Diplom; in den Bachelor-Studiengängen kann sie als Ergänzungsmodul aus dem Masterstudium belegt werden.

Weitere Informationen auf der Vorlesungshomepage@HLRS.

Literatur

 

  • T. Rauber, G. Rünger: „Parallele Programmierung”, 2. Aufl., Springer 2007; (in English: T. Rauber, G. Rünger: „Parallel Programming: for Multicore and Cluster Systems”, Springer 2010)
  • K.A. Berman, J.L. Paul: „Sequential and Parallel Algorithms”, PWS Publishing Company, 1997
  • B. Chapman, G. Jost, R. van der Pas: „Using OpenMP – Portable Shared Memory Parallel Programming”, MIT Press, 2008
  • W. Gropp, E. Lusk, R. Thakur: „Using MPI-2: Advanced Features of the Message-Passing Interface”, das Buch ist auch indeutscher Übersetzung erhältlich.
  • D. Kirk, W. Hwu: „Programming Massively Parallel Processors”