Wenn schnell nicht mehr schnell genug ist
Schaubild zum CPMD-Algorithmus. Grafik: T. Klöffel
Als James William Cooley und John Tukey 1965 ihren Algorithmus für die sogenannte schnelle Fouriertransformation, Fast Fourier Transformation – FFT, vorschlugen, lösten sie damit für einige Bereiche des elektronischen Rechnens eine Revolution aus. Die dramatische Verringerung des Rechenaufwands und Speicherbedarfs beschleunigte viele Bereiche der numerischen Simulation, so auch in der Car-Parrinello-Molekular-Dynamik, CPMD. Darin wird die Bewegung von Atomen und Molekülen simuliert, indem die Energien und Kräfte mit Hilfe der Dichtefunktionaltheorie (DFT) angenähert werden und dazu die quantenmechanische Wellenfunktion des Systems nach ebenen Wellen (plane waves) entwickelt wird. Bei der Lösung all dieser Gleichungen spielt die FFT eine zentrale Rolle, da sie eine einfache und gleichzeitig stabile Berechnung der notwendigen Ableitungen ermöglicht. Allerdings stellt die globale AllToAll-Kommunikation bei der FFT einen Flaschenhals bei der Parallelisierung der Rechnungen dar.
Die Entwicklung der Rechnerarchitekturen hin zur Nutzung immer leistungsfähigerer Rechenknoten mit einer ständig wachsenden Zahl von Rechenkernen (Cores) und größerem Hauptspeichern hat dazu geführt, dass die Kommunikation zwischen den Knoten über das Message-Passing Interface (MPI) im Vergleich zur Kommunikation innerhalb eines Knotens über den gemeinsamen Arbeitsspeicher über das Open Multi-Processing (OpenMP) Protokoll immer schneller wurde.
Kommunikation in den Knoten optimiert Algorithmus
Prof. Dr. Bernd Meyer vom Lehrstuhl Chemie und Pharmazie an der Friedrich-Alexander-Universität Erlangen (FAU) sowie die HPC-Spezialisten Tobias Klöffel (FAU) und Gerald Mathias vom Leibniz-Rechenzentrum (LRZ) haben – unterstützt von KONWIHR – in den vergangenen Jahren eine optimierte Version des CPMD-Programms entwickelt, bei der ein Großteil des Rechenaufwands der FFT auf Matrizenmultiplikationen verlagert wird. Diese können auf modernen Computerarchitekturen sehr viel effizienter als die FFT verarbeitet werden. Dazu wurde die Implementierung der so genannten Ultrasofte Pseudopotentiale (USPP) komplett überarbeitet und optimiert. Das LRZ brachte hierbei seine Erfahrung mit Algorithmen für sehr große Knoten und Core-Zahlen und deren Kommunikationsmuster ein. Dadurch wurde die schnelle Kommunikation innerhalb der Knoten mit OpenMP ausgenutzt und die wesentlich langsamere Kommunikation über das Netzwerk zwischen den Rechenknoten über MPI stark reduziert. Gleichzeitig wurden Kommunikations- und Rechenphasen im Programm überlagert, was die Skalierbarkeit weiter verbesserte.
Das Ergebnis der Kombination geeigneter physikalisch-chemischen Ideen und paralleler Algorithmen auf moderner Rechnerarchitekturen kann sich sehen lassen. Eine Beschleunigung um Faktoren von 10 bis 100 und exzellente Skalierung bei Erhöhung der Rechenkerne auf SuperMUC-NG beeindruckt und führt zu einer der aktuell schnellsten Implementierungen der ab initio Molekulardynamik. Durch die hervorragende Skalierung können nun wesentlich größere Systeme mit besserer Genauigkeit simuliert werden. Dies ist vor allem für Physik, Chemie und Materialforschung wichtig. Mehr dazu: Tobias Klöffel, Gerald Mathias, Bernd Meyer, Integrating state of the art compute, communication, and autotuning strategies to multiply the performance of ab initio molecular dynamics on massively parallel multi-core supercomputers, Computer Physics Communications, 260, 2021, 107745. Text: Dr. L.Palm/LRZ, Dr. G. Mathias/LRZ