Einführung in das Parallele Rechnen
courseFurtherInformation
Hochleistungsrechnen (high-performance computing, HPC) bedeutet auch paralleles Rechnen. In diesem Workshop bauen wir auf unsere Praktische Einführung in die Nutzung eines HPC-Clusters auf und lernen, was paralleles Rechnen ist, welche Fallstricke und Engpässe auftreten und wie wir ein Rechenproblem parallelisieren können.
Wir wollen zu Beginn die Bedeutung und den Nutzen des Hochleistungsrechnens darlegen und beschreiben, was wir unter parallelem Rechnen verstehen. Wir betrachten die theoretischen Grenzen der parallelen Skalierbarkeit anhand der Gesetze von Amdahl und von Gustavson und erkunden diese Grenzen für eine reale Anwendung.
Schließlich widmen wir uns der Programmierung paralleler Algorithmen. Dazu betrachten wir zunächst, welche Arten von Parallelismus aktuelle Computerhardware bietet, bevor wir dann einige Programmierschnittstellen kennenlernen, mit denen wir Rechenprobleme parallelisieren können.
Für die praktischen Teile verwenden wir den Universitätscluster „Draco“. Falls Sie noch keinen Zugang zum Cluster haben, beantragen Sie diesen bitte über unseren Service-Desk. Bitte geben Sie dabei Ihr alphanumerisches Nutzerkürzel an.
Bitte beachten Sie, dass dieser Workshop keineswegs eine umfassende Einführung in die parallele Programmierung bietet. Obwohl wir hier auch ein parallelisiertes Programm schreiben, können wir doch nur einen ersten Einblick in das Thema geben.
Dieser Workshop findet in Präsenz statt, eine Online-Teilnahme ist nicht möglich. Der Kurs wird in englischer Sprache gehalten.
Voraussetzungen
- Grundkenntnisse in Linux, der Kommandozeile (z.B. Bash) und SSH
- Erfahrung in mindestens einer höheren Programmiersprache wie Python oder Fortran
- Erste Erfahrungen mit einem Workload-Manager wie Slurm
- Benutzerkonto der Universität Jena, das auf der Anmeldeseite angegeben werden muss