Evaluierung moderner HPC-Architekturen und -Beschleuniger
Praktikum im Sommersemester 2024
Dr. Karl Fürlinger, Minh Chung, Sergej Breiter
Aktuelles
Inhalt
Das Praktikum widmet sich der Untersuchung der Struktur und des
Verhaltens von parallelen Hochleistungsrechnern mit den Methoden der
quantitativen Analyse. Durch Experimentation, Messung und Modellierung
soll das komplexe Verhalten von modernen Parallelrechnern im Vergleich
verschiedener Architekturen analysiert werden.
Das Praktikum wird in Zusammenarbeit mit dem Leibniz Rechenzentrum
(LRZ) und der TU München durchgeführt. Technische Basis wird ein neu
installiertes heterogenes Hardware-Testbett am LRZ sein (BEAST)
Sie werden:
- die Möglichkeit, an der neuesten HPC-Technologie wie CPUs oder GPUs von Intel, AMD, NVidia, Marvell, Fujitsu zu arbeiten, (insbesondere A64FX - treibt einen der schnellsten Supercomputer der Welt (Fugaku) von TOP500-Rankings) haben,
- verschiedene Merkmale neuartiger Technologien auf Node-level erkunden,
- über Leistungsoptimierungen auf Node-level erfahren,
- verschiedene Programmiermodelle auf Node-level für Multicore-CPUs und Hardware-Beschleuniger lernen.
Dazu werden Sie zunächst mit OpenMP arbeiten, für spätere Projekte fortgeschrittene Programmiermodelle wie Compiler Vector Intrinsics, OpenCL, SYCL, HIP oder CUDA verwenden können.
- grundlegende Methoden zur Synchronisation erlernen.
Dieses Praktikum wird nur in englischer Sprache angeboten.
Kursstruktur
Das Praktikum ist in zwei Arten von Aufgaben unterteilt.
- Bei der ersten Aufgabenart wird von den Studierenden erwartet, dass Sie meistens an allen Architekturen arbeiten.
- Im zweiten Teil (Projekte) arbeiten Sie ausschließlich an einer bestimmten Architektur.
Bewertung
Studierende arbeiten in Gruppen (2-3 Personen pro Gruppe) und erstellen Berichte für jede Aufgabe sowie kurze Präsentationen ihrer Evaluationsergebnisse
(jede Woche werden 2 Gruppen ausgewählt, die ihre Berichte präsentieren).
Die Benotung erfolgt auf der Grundlage des Berichts und der Kurzpräsentationen. Dazu gehört auch der verwendete Quellcode der Evaluation,
der den Berichten hinzugefügt werden muss.
Das Praktikum wird gemäß der Studienordnung der LMU mit 6 ECTS-Punkten bewertet.
Voraussetzungen
Voraussetzung für die Teilnahme am Praktikum ist die erfolgreiche Teilnahme am Kurs "Parallel and High Performance Computing".
Gute Kenntnisse in C/C++ unter Linux, und Verständnis von Begriffen der Computerarchitektur wie SIMD, Multicore, SMT und Caches.
Vorläufiger Plan/Termine
- Ort: (Präsenzveranstaltung) Das Praktikum findet in folgenden Räumen an der TUM und LMU statt:
- Zeitplan: wöchentliche Treffen - jeden Donnerstag 16:00 - 18:00 Uhr.
- April 18 [TUM]:
Talks: Organization and Introduction, Shared Memory Programming with OpenMP
Assignment: Vector Triad on CPU.
- April 25 [LMU]:
Assignment: Matrix Multiplication on CPU w/ OpenMP.
- May 2 [TUM]:
Talks: Memory Latency, Introduction to DCDB
Assignment: Profiling Tools and DCDB + Memory Latency.
- May 9 [-]:
- May 16 [TUM]:
Talks: Instruction-Level Parallelism
Assignment: Instruction-Level Parallelism (Instruction Latency, Instruction Throughput, Branch Prediction).
- May 23 [LMU]:
Talks: GPU Architecture, Accelerator Programming with OpenMP Offloading
Assignment: Vector Triad and Matrix Multiplication on GPU with OpenMP.
- May 30 [-]:
- June 6 [TUM]:
Talks: Introduction to CUDA and HIP, Profiling on GPUs
Assignment: Matrix Multiplication on GPU with CUDA/HIP, GPU Profiling.
- June 13 [LMU]:
Project 1: Matrix Profile.
- June 20 [TUM]:
Project 1 Intermediate Discussion.
- June 27 [LMU]:
Project 1 Submission and Presentation
Project 2: Multi-Grid Method.
- July 4 [TUM]:
Project 2 Intermediate Discussion.
- July 11 [LMU]:
Project 2 Submission and Presentation.
- July 18 [LRZ]:
LRZ-Tour / Spare.
Anmeldung
Das Praktikum Evaluierung moderner HPC-Architekturen und -Beschleuniger nimmt an der Zentralanmeldung für Masterpraktika via Moodle teil.
Kontakt
Bei Fragen, Kritik oder Anregungen wenden Sie sich bitte per E-Mail an Sergej Breiter, oder Karl Fürlinger.