Achtung ! Wegen eines Fehlers wird derzeit der Studienbeitragsstatus und somit auch der Fortmeldungsstatus falsch angezeigt. An der Behebung des Fehlers wird gearbeitet. Wir danken für Ihr Verständnis!

057.021 VSC-School II Kurse zum Thema Hochleistungsrechnen
Diese Lehrveranstaltung ist in allen zugeordneten Curricula Teil der STEOP.
Diese Lehrveranstaltung ist in mindestens einem zugeordneten Curriculum Teil der STEOP.

2020S, VU, 2.0h, 1.5EC, wird geblockt abgehalten

Merkmale

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

Lernergebnisse

Nach positiver Absolvierung der Lehrveranstaltung sind Studierende in der Lage

4) Parallelisierung mit OpenMP (Open Multi-Processing)

  • die auf shared-memory Architekturen begrenzte Anwendung von OpenMP und die dadurch limitierten Möglichkeiten auf High-Performance Computing Clustern zu erklären,
  • die essentiellen Konzepte des OpenMP-Standards zu beschreiben,
  • ein Programm unter Verwendung von OpenMP auf shared-memory Architekturen zu parallelisieren,
  • für die korrekte Synchronisation innerhalb des OpenMP-Programms Sorge zu tragen,
  • die Auswirkungen der Daten-Lokalität auf die Laufzeit des parallelen OpenMP-Programms zu erkennen und deswegen die Daten im Speicher an geeigneter Stelle anzulegen,
  • Race-Conditions und insbesondere Data-Races in OpenMP-Programmen zu vermeiden,
  • geeignete Tools zum Auffinden von Race-Conditions und Data-Races zu verwenden,
  • allfällige Fehler in OpenMP-Programmen ohne und mithilfe von oben genannten Tools zu identifizieren und
  • identifizierte Fehler in OpenMP-Programmen zu beheben.

5) Hybride Programmierung für HPC (High-Performance Computing)

  • die wichtigsten Limitierungen von reiner distributed-memory Parallelisierung mittels MPI auf modernen High-Performance Computing Clustern, die aus einer Kombination von distributed-memory und shared-memory Architekturen bestehen, zu benennen,
  • mehrere Konzepte der hybriden Programmierung anzuwenden, d.h. unterschiedliche Möglichkeiten, distributed-memory (z.B. mittels MPI) mit shared-memory Parallelisierung (z.B. mittels OpenMP oder mittels MPI-3.0 shared-memory) zu kombinieren,
  • die wichtigsten Vor- und Nachteile der Konzepte der hybriden Programmierung zu erklären,
  • situationsabhängig eine geeignete Methode der hybriden Programmierung auszuwählen,
  • die Laufzeit und den Speicherbedarf eines Programms durch hybride Parallelisierung zu optimieren,
  • allfällige Fehler in parallelen Programmen zu identifizieren und
  • identifizierte Fehler in parallelen Programmen zu beheben.

 

Inhalt der Lehrveranstaltung

4) Parallelisierung mit OpenMP (Open Multi-Processing)

  • Die wichtigsten Methoden der Parallelisierung von Programmen auf High-Performance Computing Clustern (distributed-memory vs. shared-memory Architekturen), deren wichtigste Vor- und Nachteile und die an die Architektur und das Spezifikum des betreffenden Progamms angepasste Auswahl der geeignetsten Methode,
  • die essentiellen Konzepte des aktuellen Standards für OpenMP,
  • die programmtechnische Implementierung.

5) Hybride Programmierung für HPC (High-Performance Computing)

  • Die wichtigsten Limitierungen von reiner distributed-memory Parallelisierung mittels MPI auf modernen High-Performance Computing Clustern, die aus einer Kombination von distributed-memory und shared-memory Architekturen bestehen,
  • die verschiedenen Konzepte der hybriden Programmierung, d.h. unterschiedliche Möglichkeiten, distributed-memory (z.B. mittels MPI) und shared-memory (z.B. mittels OpenMP oder mittels MPI-3.0 shared-memory) Parallelisierung zu kombinieren, deren wichtigste Vor- und Nachteile,
  • die programmtechnische Implementierung,

 

Methoden

4) Parallelisierung mit OpenMP (Open Multi-Processing)

Vortrag über:

  • die wichtigsten Methoden der Parallelisierung von Programmen auf High-Performance Computing Clustern (distributed-memory vs. shared-memory Architekturen), deren wichtigste Vor- und Nachteile und die an die Architektur und das Spezifikum des betreffenden Progamms angepasste Auswahl der geeignetsten Methode,,
  • die essentiellen Konzepte des aktuellen Standards für OpenMP,
  • die programmtechnische Implementierung.

Praktische Übungen zu:

  • konkret formulierten Aufgabenstellungen nach jedem neuen Thema zur praktischen Erstellung von parallelen OpenMP-Programmen, die eigenständig allein oder in Zweierteams zu bewältigen sind,
  • Diskussion der Teilnehmer_innen untereinander sowie im Einzelgespräch mit den Kursleiter_innen.

5) Hybride Programmierung für HPC (High-Performance Computing)

Vortrag über:

  • die wichtigsten Limitierungen von reiner distributed-memory Parallelisierung mittels MPI auf modernen High-Performance Computing Clustern, die aus einer Kombination von distributed-memory und shared-memory Architekturen bestehen,
  • die verschiedenen Konzepte der hybriden Programmierung, d.h. unterschiedliche Möglichkeiten, distributed-memory (z.B. mittels MPI) und shared-memory (z.B. mittels OpenMP oder mittels MPI-3.0 shared-memory) Parallelisierung zu kombinieren, deren wichtigste Vor- und Nachteile,
  • die programmtechnische Implementierung.

Praktische Übungen zu:

  • konkret formulierten Aufgabenstellungen nach jedem neuen Thema zur praktischen Erstellung und Optimierung von parallelen hybriden (MPI+X) Programmen, die eigenständig allein oder in Zweierteams zu bewältigen sind,
  • Diskussion der Teilnehmer_innen untereinander sowie im Einzelgespräch mit den Kursleiter_innen.

 

Prüfungsmodus

Prüfungsimmanent

Weitere Informationen

DIe Lehrveranstaltung ist in einzelne Blöcke unterteilt. DIe Anmeldung zu den einzelnen Blöcken erfolgt über die Homepage der Lehrveranstaltung.

Vortragende

Institut

LVA Termine

TagZeitDatumOrtBeschreibung
09:00 - 16:4004.05.2020 - 05.05.2020 FH Internet-Raum FH1 (TU Wien, Wiedner Hauptstraße 8-10, Erdgeschoß, roter Bereich)Parallelisierung mit OpenMP (Open Multi-Processing)
09:00 - 17:0017.06.2020 - 18.06.2020 FH Internet-Raum FH1 (TU Wien, Wiedner Hauptstraße 8-10, Erdgeschoß, roter Bereich)Hybride Programmierung für HPC (High-Performance Computing)
VSC-School II Kurse zum Thema Hochleistungsrechnen - Einzeltermine
TagDatumZeitOrtBeschreibung
Mo.04.05.202009:00 - 16:40 FH Internet-Raum FH1 (TU Wien, Wiedner Hauptstraße 8-10, Erdgeschoß, roter Bereich)Parallelisierung mit OpenMP (Open Multi-Processing)
Di.05.05.202009:00 - 16:40 FH Internet-Raum FH1 (TU Wien, Wiedner Hauptstraße 8-10, Erdgeschoß, roter Bereich)Parallelisierung mit OpenMP (Open Multi-Processing)
Mi.17.06.202009:00 - 17:00 FH Internet-Raum FH1 (TU Wien, Wiedner Hauptstraße 8-10, Erdgeschoß, roter Bereich)Hybride Programmierung für HPC (High-Performance Computing)
Do.18.06.202009:00 - 17:00 FH Internet-Raum FH1 (TU Wien, Wiedner Hauptstraße 8-10, Erdgeschoß, roter Bereich)Hybride Programmierung für HPC (High-Performance Computing)
LVA wird geblockt abgehalten

Leistungsnachweis

Die Leistungsüberprüfung erfolgt einerseits durch Teilnahme an den Kursen und durch Überprüfung der abgegebenen Programm-Beispiele.

LVA-Anmeldung

Anmeldemodalitäten:

Diese Lehrveranstaltung wird in Blöcken abgehalten, siehe auch http://vsc.ac.at/training.

Anmeldung zu den einzelnen Blöcken bitte im entsprechenden Kurs auf http://vsc.ac.at/training.

Kontakt für diese Lehrveranstaltungvsc-seminar@list.tuwien.ac.at

Curricula

StudienkennzahlSemesterAnm.Bed.Info
ALG Für alle Hörerinnen/Hörer

Literatur

Es wird kein Skriptum zur Lehrveranstaltung angeboten.

Vorkenntnisse

Benötigte Vorkenntnisse für die einzelnen Lehrveranstaltungs-Blöcke:

4) Parallelisierung mit OpenMP (Open Multi-Processing)

  • Die Studierenden sind in der Lage, die als Lernergebnisse von Block 1 der VU VSC-School I Kurse zum Thema Hochleistungsrechnen (057.020) entwickelten Fähigkeiten selbständig anzuwenden und können ein serielles Programm in mindestens einer der Programmiersprachen C/C++ oder Fortran erstellen, kompilieren und ausführen. 

5) Hybride Programmierung für HPC (High-Performance Computing)

Vorausgehende Lehrveranstaltungen

Weitere Informationen

Sprache

Englisch