Softwarewerkzeuge zur Leistungsoptimierung: Eine Toolbox wird facettenreicher und internationaler

Im Höchstleistungsrechnen (HPC, High Performance Computing) werden die Rechner-Architekturen immer komplexer, und der Übergang zu Mehrkernprozessoren war da nur der Anfang. Allein schon die Frage, wie ein Rechenknoten aufgebaut ist und wo die Threads und Prozesse einer Anwendung laufen sollen, kann überaus relevant für die Rechenleistung sein. Darüber hinaus möchten Anwender oft auch gerne wissen, was die Software mit der Hardware so anstellt, sprich, welche Ressourcen wie gut genutzt werden. Unter dem Namen LIKWID („Like I Knew What I’m Doing“) wird in der HPC-Gruppe des RRZE seit 2009 eine Sammlung von Werkzeugen entwickelt, die genau auf diese Fragestellungen abzielt. (BI95, TGr)

Über die Jahre wurde LIKWID immer populärer; heute ist es auf vielen HPC-Clustern weltweit installiert, vom „Cori“-System am NERSC (National Energy Research Scientific Computing Center) am Lawrence Berkeley National Laboratory mit über 730.000 CPU-Kernen bis zum Tianhe-2A-Supercomputer in China mit knapp fünf Millionen CPU-Kernen. In der Ausbildung werden die Werkzeuge beispielsweise an der Universität zu Köln oder der Universidade Federal do Paraná in Curitiba, Brasilien eingesetzt. Einige Forschungsorganisationen in den USA und Deutschland nutzen LIKWID als Erweiterung ihrer Möglichkeiten zur Softwareanalyse. Auch in der HPC-Forschung sind die Werkzeuge im breiten Einsatz: Durch die Identifikation von Hardwarelimitierungen während der Laufzeit gibt LIKWID Hinweise auf mögliche Codeoptimierungen und eignet sich zur Überprüfung ihrer Effektivität.

Das NERSC arbeitet eng mit der HPC-Gruppe des RRZE zusammen, um LIKWID fortwährend zu optimieren und weitere Werkzeuge auf der Basis von LIKWID zu entwickeln. Dabei ist es von Vorteil, dass die komplette Funktionalität auch als Bibliothek verfügbar ist, die in andere Anwendungen eingebunden werden kann. Einige andere in der HPC-Welt bekannte Performance Tools integrieren LIKWID so als „Backend“.

Rechtzeitig zur diesjährigen Supercomputing-Konferenz (SC19) in Denver wurde die neue Version 5 von LIKWID veröffentlicht. Sie bietet Unterstützung für weitere HPC-relevante CPU-Architekturen und erstmals auch für ARMv8, was durch eine Zusammenarbeit mit der Firma Marvell ermöglicht wurde. In Kooperation mit dem Lehrstuhl für Rechnerarchitektur der FAU (Prof. Fey) entstand der Support für IBM-POWER-Prozessoren. Schließlich ist es mit der Unterstützung für Beschleuniger-Architekturen nun erstmals möglich, LIKWID auf Nvidia-GPUs einzusetzen.

Die Weiterentwicklung von LIKWID wird seit 2017 durch das BMBF-Projekt SeASiTe gefördert, in dem die HPC-Gruppe zusammen mit Projektpartnern von der Universität Bayreuth und der Universität Chemnitz an Selbstadaptivität bei Zeitschritt-basierten numerischen Methoden forscht. LIKWID kommt in dem Projekt die wichtige Rolle zu, Messdaten für automatische Strategien zur Verbesserung der Rechenleistung zu liefern.

Weitere Informationen

Kommandozeilenwerkzeug LIKWID
hpc.fau.de/research/tools/likwid/