
High Performance Computing
Zusammenfassung
Dieser spezialisierte Kurs behandelt HPC-Grundlagen, Leistungsoptimierung und paralleles Rechnen für wissenschaftliche und technische Anwendungen. Der Lehrplan ist vollständig anpassbar – Themen können hinzugefügt, weggelassen oder vertieft werden, je nach den spezifischen Bedürfnissen und dem Erfahrungsstand Ihrer Gruppe.
Von den Grundlagen von Clustern und Job Scheduling bis hin zu fortgeschrittenen Parallelisierungstechniken erforschen wir verschiedene Ansätze zur Verbesserung der Rechenleistung in unterschiedlichen Programmiersprachen und Umgebungen, wobei alle Inhalte auf Ihre spezifische Domäne und Anwendungen zugeschnitten sind.
Zielgruppen
Ideal für Programmierer, Forscher, Ingenieure und Entwickler mit Programmiererfahrung, die sich mit dem Thema beschäftigen möchten:
- Lernen Sie die Nutzung von HPC-Clustern und paralleles Rechnen von Grund auf
- Beschleunigen Sie rechenintensive Anwendungen und beheben Sie bestehende Leistungsengpässe
- Optimieren Sie bestehende parallele Codes für bessere Skalierbarkeit und Effizienz
- Entwickeln Sie neue Hochleistungslösungen für komplexe Berechnungsprobleme
Flexible Kursstruktur
Der Inhalt und die Programmiersprachen (Python, C oder gemischte Ansätze) werden auf der Grundlage der spezifischen Bedürfnisse und Anwendungen Ihres Teams angepasst. Der Kurs kombiniert theoretische Grundlagen mit der praktischen Optimierung von echtem Code, ggf. unter Einbeziehung der eigenen Projekte der Teilnehmer.
Die Mindestanzahl der Live-Tutorials beträgt 4, um alle relevanten Themen abzudecken, aber die endgültige Anzahl hängt von den Bedürfnissen Ihres Teams ab. Die Tutorien dauern jeweils 90-120 Minuten. Die Teilnehmer sollten insgesamt mindestens 30 Stunden einplanen.
Inhalt
- Grundlagen der HPC-Umgebung – Cluster-Architektur, Job-Scheduler (SLURM), Batch-Systeme
- Leistungsprofilierung und Identifizierung von Engpässen
- Single-Core Optimierung
- Parallele Programmierung in C mit MPI, OpenMP, CUDA
- Parallele Programmierung in Python mit Dask, CuPy, Numba oder PyCUDA
- Speicheroptimierung und effiziente Datenstrukturen
- Skalierbare Computing-Strategien für Cluster und HPC-Systeme
- Hardware-Überlegungen und hybride CPU/GPU-Parallelisierung