185.A64 Übersetzer für Parallele Systeme
Diese Lehrveranstaltung ist in allen zugeordneten Curricula Teil der STEOP.
Diese Lehrveranstaltung ist in mindestens einem zugeordneten Curriculum Teil der STEOP.

2015S, VU, 2.0h, 3.0EC, wird geblockt abgehalten

Merkmale

  • Semesterwochenstunden: 2.0
  • ECTS: 3.0
  • Typ: VU Vorlesung mit Übung

Ziele der Lehrveranstaltung

Parallelismus kann in einem Programm implizit enthalten sein - z. B. in einer Schleife mit unabhängigen Iterationen - oder mittels paralleler Sprachkonstrukte explizit spezifiziert sein. Die Lehrveranstaltung zeigt, wie ein Übersetzer impliziten Parallelismus erkennt, und wie er Parallelismus auf eine bestimmte parallele Architektur umsetzt. Sie vermittelt Übersetzungstechniken, die effizienten Code für Parallelrechner liefern. Als Zielarchitekturen werden Multiprozessorsysteme mit gemeinsamem und verteiltem Speicher betrachtet.

Absolventinnen und Absolventen verstehen das Konzept der Datenabhängigkeit und dessen Bedeutung für die Parallelisierung von Programmen. Sie können Programmtransformationen zur Elimination von Abhängigkeiten und zur Verbesserung von Lokalität angeben, grundlegende Vektorisierungs- und Parallelisierungsmethoden beschreiben und anwenden, das polyhedrale Modell erklären und zur Parallelisierung einsetzen, Analysetechniken für parallele Programme aufzeigen, und Übersetzungsstrategien für verbreitete parallele Sprachen darlegen.

Inhalt der Lehrveranstaltung

Überblick über Parallele Systeme, Datenabhängigkeit, Kontrollabhängigkeit, Programmtransformationen, Vektorisierung, Parallelisierung für Systeme mit gemeinsamem und verteiltem Speicher, Lokalitätsoptimierungen, Polyhedrales Modell, Zwischendarstellungen, Programmanalysen, Übersetzung von parallelen Sprachen; Ausblick: Autotuning, Laufzeitparallelisierung. Im Übungsteil wird u.a. ein gegebener source-to-source Compiler um Programmtransformationen und parallele Übersetzungstechniken erweitert.

Weitere Informationen

ECTS Breakdown (3.0 ECTS <=> 75 Std.):
** Vorlesung inkl. Nach- und Vorbereitung: 25 Std.
** Ausarbeitung u. Präsentation der Übungs-/Programmieraufgaben: 40 Std.
** Prüfungsvorbereitung und Prüfung: 10 Std.

Vortragende Personen

Institut

LVA Termine

TagZeitDatumOrtBeschreibung
Mo.16:30 - 18:0002.03.2015 - 29.06.2015Seminarraum 384 Übersetzer für Parallele Systeme
Mo.16:30 - 17:0016.03.2015 - 23.03.2015Seminarraum 124 Übersetzer für Parallele Systeme
Übersetzer für Parallele Systeme - Einzeltermine
TagDatumZeitOrtBeschreibung
Mo.02.03.201516:30 - 18:00Seminarraum 384 Übersetzer für Parallele Systeme
Mo.09.03.201516:30 - 18:00Seminarraum 384 Übersetzer für Parallele Systeme
Mo.16.03.201516:30 - 17:00Seminarraum 124 Übersetzer für Parallele Systeme
Mo.23.03.201516:30 - 17:00Seminarraum 124 Übersetzer für Parallele Systeme
Mo.13.04.201516:30 - 18:00Seminarraum 384 Übersetzer für Parallele Systeme
Mo.20.04.201516:30 - 18:00Seminarraum 384 Übersetzer für Parallele Systeme
Mo.27.04.201516:30 - 18:00Seminarraum 384 Übersetzer für Parallele Systeme
Mo.04.05.201516:30 - 18:00Seminarraum 384 Übersetzer für Parallele Systeme
Mo.11.05.201516:30 - 18:00Seminarraum 384 Übersetzer für Parallele Systeme
Mo.18.05.201516:30 - 18:00Seminarraum 384 Übersetzer für Parallele Systeme
Mo.01.06.201516:30 - 18:00Seminarraum 384 Übersetzer für Parallele Systeme
Mo.08.06.201516:30 - 18:00Seminarraum 384 Übersetzer für Parallele Systeme
Mo.15.06.201516:30 - 18:00Seminarraum 384 Übersetzer für Parallele Systeme
Mo.22.06.201516:30 - 18:00Seminarraum 384 Übersetzer für Parallele Systeme
Mo.29.06.201516:30 - 18:00Seminarraum 384 Übersetzer für Parallele Systeme
LVA wird geblockt abgehalten

Leistungsnachweis

Abgabegespräche zu Übungs-/Programmieraufgaben, schriftl. Prüfung

LVA-Anmeldung

Von Bis Abmeldung bis
23.02.2015 23:59 16.03.2015 23:59

Curricula

StudienkennzahlVerbindlichkeitSemesterAnm.Bed.Info
066 931 Computational Intelligence Gebundenes Wahlfach
066 937 Software Engineering & Internet Computing Gebundenes Wahlfach

Literatur

Randy Allen, Ken Kennedy. Optimizing compilers for modern architectures. Kaufmann, 2002.
Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles, Techniques, & Tools (2nd Edition). Pearson Addison Wesley, 2007.
Michael J. Wolfe. High-Performance Compilers for Parallel Computing. Addison-Wesley, 1996.
Hans Zima, Barbara Chapman. Supercompilers for Parallel and Vector Computers. ACM Press, 1990.

Vorkenntnisse

Grundbegriffe aus Übersetzerbau, Parallele Programmierung.

Vorausgehende Lehrveranstaltungen

Begleitende Lehrveranstaltungen

Weitere Informationen

Sprache

bei Bedarf in Englisch