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.

2022W, VU, 2.0h, 3.0EC, wird geblockt abgehalten

Merkmale

  • Semesterwochenstunden: 2.0
  • ECTS: 3.0
  • Typ: VU Vorlesung mit Übung
  • Format der Abhaltung: Präsenz

Lernergebnisse

Nach positiver Absolvierung der Lehrveranstaltung sind
Studierende in der Lage, das Konzept der Datenabhängigkeit zu
beschreiben und für die Parallelisierung sequentieller Programme
anzuwenden, Programmtransformationen zur Abhängigkeitselimination und
Lokalitätsoptimierung aufzuzeigen, grundlegende Vektorisierungs-
und Parallelisierungsstrategien zu implementieren, die polyhedrale
Darstellung von Schleifen zu erklären, Analysetechniken für parallele
Programme zu diskutieren.

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.

Methoden

Vorlesung, Übungsbeispiele, Programmierprojekt, Literaturstudium, Präsentation.

Prüfungsmodus

Prüfungsimmanent

Weitere Informationen

Die Veranstaltung ist als Präsenzveranstaltung geplant. Im Fall erneuter pandemiebedingter Einschränkungen wird die Lehrveranstaltung auf einen Online-Modus umgestellt.

ECTS Breakdown (3 ECTS  ~ 75 h):

Vorlesung inkl. Nachbereitung 20
Übungsbeispiele 10
Programmierprojekt 25
Lektüre/Präsentation Paper 20

Vortragende Personen

---

Institut

Leistungsnachweis

Abgabe von Übungsbeispielen, Abgabegespräch Programmierprojekt,
Präsentation eines Papers.

LVA-Anmeldung

Nicht erforderlich

Curricula

StudienkennzahlVerbindlichkeitSemesterAnm.Bed.Info
066 931 Logic and Computation 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