Hybrid Programming in HPC – MPI+X
January 21 - January 23
Die meisten HPC-Systeme bestehen aus Clustern mit gemeinsam genutzten Speicherknoten. Um solche Systeme effizient zu nutzen, müssen sowohl der Speicherverbrauch als auch die Kommunikationszeit optimiert werden. Daher kann die hybride Programmierung die Parallelisierung mit verteiltem Speicher auf der Knotenverbindung (z.B. mit MPI) mit der Parallelisierung mit gemeinsamem Speicher innerhalb jedes Knotens (z.B. mit OpenMP oder MPI-3.0 Shared Memory) kombinieren.
Dieser Kurs analysiert die Stärken und Schwächen verschiedener paralleler Programmiermodelle auf Clustern von SMP-Knoten. Zahlreiche Fallstudien und Mikro-Benchmarks demonstrieren die leistungsbezogenen Aspekte der hybriden Programmierung. An allen Tagen sind praktische Übungen vorgesehen. Werkzeuge für die hybride Programmierung, wie z.B. Thread/Prozess-Platzierungsunterstützung und Leistungsanalyse, werden in einem „How-to“-Teil vorgestellt.