Advanced Topics in Parallel Computing

Bemerkungen

Eine effiziente Nutzung hochwertiger Supercomputing-Ressourcen (auch Hochleistungsrechner bzw. HPC genannt) für Simulationen von Phänomenen aus der Physik, Chemie, Biologie, mathematischen oder technischen Modellierung, von neuronalen Netzen, Signalverarbeitung, usw. ist nur möglich, wenn die entsprechenden Anwendungen mit modernen und fortschrittlichen Methoden der parallelen Programmierung implementiert werden. Oftmals ist sogar die Fähigkeit der Anwendung zur guten Skalierung (d.h. zur effizienten Nutzung einer großen Menge von CPU-Kernen) oder zur Nutzung von Beschleunigerhardware wie z.B. Grafikkarten/GPUs eine Voraussetzung, um einen Zugang zu und entsprechende Rechenzeit auf großen HPC-Systemen genehmigt zu bekommen.

Die Verbesserung bestehender Algorithmen in den Simulationscodes durch fortschrittliche Parallelisierungstechniken kann zu erheblichen Leistungsverbesserungen führen; Ergebnisse können so schneller generiert werden. Oder es besteht auch die Möglichkeit zur Energieeinsparung, in dem geeignete zeitintensive Rechenroutinen des Simulationsprogramms von CPUs mit einem relativ hohen Energiebedarf auf GPUs mit einem niedrigeren Energiebedarf (pro Rechenoperation) verlagert werden.

Im Seminar werden ausgewählte Themen zu moderne Techniken der parallelen Programmierung vorgestellt und diskutiert. Stichworte sind MPI, OpenMP, CUDA, OpenCL und OpenACC. Es werden auch Werkzeuge zur Analyse der Effizienz, Skalierbarkeit und des Zeitverbrauchs von parallelen Anwendungen adressiert. Themen aus dem Bereich der parallelen Dateisysteme und der Hochgeschwindigkeits-Übertragungstechnologien runden das Themenspektrum ab.

Folgend ist eine Themenliste aus S2019, eine aktuelle Themenliste wird ASAP veröffentlicht.

  • Parallelisierungsstrategien für neuronale Netze
  • Parallel Computing with MATLAB
  • OpenACC Programming on Graphics Cards
  • Code Parallelisation with OpenMP
  • OpenMP 4.0 - Programming Standard for CPUs and GPUs
  • High-Order Asynchronous Finite Difference Schemes
  • AVX SIMD
  • Can hardware performance counters reliably be used to detect performance patterns?
  • Swapping the out-vertices and the in-vertices of a graph in GPU-accelerated data analytics.
  • Implementing single-source breadth-first search, multisource breadth-first search, and weighted breadth-first search on a graph.
  • Fast and Accurate Summation with Finite Precision - Theory and Practice.
  • ROCm, a New Era in Open GPU Computing
  • Effiziente Datenlayouts und Interpolationsschamata für partikelbasierte Simulationsmethoden: CPU und GPU
  • Verfügbare Programmiermodelle für GPUs: Alternativen zu CUDA
  • VR aus dem Internet: WebVR für die Visualisierung wissenschaftlicher Daten

--------

Unter Informatik Seminar 1, 2 oder 3 verbuchen.

Die Vorregistrierung in ILIAS ist in diesem Jahr eine Voraussetzung, erst dann können wir aufgrund der aktuellen Situation ein geregeltes Verfahren planen.

Die Anmeldung zum Seminar und die Verteilung der Themen kann sich aufgrund der aktuellen Corona-Situation jederzeit ändern. Im Moment planen wir die Verteilung der Themen in einem Konferenz-Chat/Videocall oder ähnliches. Genauere Informationen werden rechtzeitig bekannt gegeben. Wir bitten daher interessierte Studierende, sich dafür im Ilias anzumelden.
Der Termin für die endgültige Themenvergabe ist für den 27.04.2020, Mo, 15:45 - 17:15 Uhr geplant.
WICHTIG: Wenn mehrere Studenten am gleichen Thema interessiert sind, entscheidet die Reihenfolge der ILIAS-Anmeldung.

Die Präsentationen werden in einer Blockveranstaltung am 9./10.7.2019 vorgetragen.
Je nach Teilnehmerzahl reicht eventuell ein einziger Termin.

Beschreibung

Eine effiziente Nutzung hochwertiger Supercomputing-Ressourcen (auch Hochleistungsrechner bzw. HPC genannt) für Simulationen von Phänomenen aus der Physik, Chemie, Biologie, mathematischen oder technischen Modellierung, von neuronalen Netzen, Signalverarbeitung, usw. ist nur möglich, wenn die entsprechenden Anwendungen mit modernen und fortschrittlichen Methoden der parallelen Programmierung implementiert werden. Oftmals ist sogar die Fähigkeit der Anwendung zur guten Skalierung (d.h. zur effizienten Nutzung einer großen Menge von CPU-Kernen) oder zur Nutzung von Beschleunigerhardware wie z.B. Grafikkarten/GPUs eine Voraussetzung, um einen Zugang zu und entsprechende Rechenzeit auf großen HPC-Systemen genehmigt zu bekommen.

Die Verbesserung bestehender Algorithmen in den Simulationscodes durch fortschrittliche Parallelisierungstechniken kann zu erheblichen Leistungsverbesserungen führen; Ergebnisse können so schneller generiert werden. Oder es besteht auch die Möglichkeit zur Energieeinsparung, in dem geeignete zeitintensive Rechenroutinen des Simulationsprogramms von CPUs mit einem relativ hohen Energiebedarf auf GPUs mit einem niedrigeren Energiebedarf (pro Rechenoperation) verlagert werden.

Im Seminar werden ausgewählte Themen zu moderne Techniken der parallelen Programmierung vorgestellt und diskutiert. Stichworte sind MPI, OpenMP, CUDA, OpenCL und OpenACC. Es werden auch Werkzeuge zur Analyse der Effizienz, Skalierbarkeit und des Zeitverbrauchs von parallelen Anwendungen adressiert. Themen aus dem Bereich der parallelen Dateisysteme und der Hochgeschwindigkeits-Übertragungstechnologien runden das Themenspektrum ab.

Folgend ist eine Themenliste aus S2019, eine aktuelle Themenliste wird ASAP veröffentlicht.

  • Parallelisierungsstrategien für neuronale Netze
  • Parallel Computing with MATLAB
  • OpenACC Programming on Graphics Cards
  • Code Parallelisation with OpenMP
  • OpenMP 4.0 - Programming Standard for CPUs and GPUs
  • High-Order Asynchronous Finite Difference Schemes
  • AVX SIMD
  • Can hardware performance counters reliably be used to detect performance patterns?
  • Swapping the out-vertices and the in-vertices of a graph in GPU-accelerated data analytics.
  • Implementing single-source breadth-first search, multisource breadth-first search, and weighted breadth-first search on a graph.
  • Fast and Accurate Summation with Finite Precision - Theory and Practice.
  • ROCm, a New Era in Open GPU Computing
  • Effiziente Datenlayouts und Interpolationsschamata für partikelbasierte Simulationsmethoden: CPU und GPU
  • Verfügbare Programmiermodelle für GPUs: Alternativen zu CUDA
  • VR aus dem Internet: WebVR für die Visualisierung wissenschaftlicher Daten
Ziel

Studierende erarbeiten, verstehen und analysieren ausgewählte, aktuelle Methoden und Technologien im Themenbereich des Parallelen Rechnen. Studierende lernen ihre Arbeiten gegenüber anderen Studierenden vorzutragen und sich in einer anschließenden Diskussionsrunde mit Fragen zu ihrem Thema auseinander zu setzen.