JavaScript is required to use this site. Please enable JavaScript in your browser settings.

Kontakt

Decorative Header Image

JUmPER

Die Rechenleistung, wie beispielsweise die CPU- oder GPU-Auslastung, ist für die Analyse von Machine-Learning-Anwendungen und deren effiziente Bereitstellung von entscheidender Bedeutung. Um diesem Bedarf gerecht zu werden, ist JUmPER ein spezieller Kernel für die Jupyter-Umgebung, der sowohl eine grobe Leistungsüberwachung als auch Funktionen zur detaillierten Analyse von Python-Anwendercode bietet.
Er bietet die folgenden Hauptfunktionen:

  • Erfassung von Systemleistungskennzahlen parallel zur Codeausführung
  • Visualisierung von Systemleistungskennzahlen direkt in Jupyter
  • Unterstützung lokaler sowie Multi-CPU-/Multi-GPU-HPC-Konfigurationen
  • Export von Systemleistungskennzahlen für weitere Datenanalysen
  • Instrumentierung von Anwendercode mit Score-P für detailliertere Einblicke in die Systemleistung

Installation

pip install jumper-kernel
python -m jumper.install

pip install scorep

Aus den Score-P-Python-Bindings: Sie benötigen mindestens Score-P 5.0, das mit der Option „–enable-shared“ und dem gcc-Compiler-Plugin kompiliert wurde. Bitte stellen Sie sicher, dass „scorep-config“ in Ihrer PATH-Variablen enthalten ist. Für Ubuntu-LTS-Systeme steht ein inoffizielles PPA von Score-P zur Verfügung.

So funktioniert JUmPER

Bei der Ausführung von user code in einer Jupyter-Zelle mit JUmPER ist die Überwachung der Systemleistungsmetriken stets aktiviert. Zu diesem Zweck startet JUmPER vor der Ausführung für jede user code-Zelle einen separaten Python-Prozess, um diese Metriken zu erfassen. Der user code wird anschließend zur Ausführung an den Default IPython-interpreter weitergeleitet.

Nach der Ausführung können die erfassten Daten mithilfe integrierter JUmPER-Befehle visualisiert werden. Darüber hinaus zeigt JUmPER automatisch eine Zusammenfassung der Leistungsdaten der zuletzt ausgeführten Zelle an, einschließlich Laufzeit sowie Durchschnitts-, Maximal- und Minimalwerten für Kennzahlen wie CPU-Auslastung, Arbeitsspeicher und GPU-Auslastung usw. Zusammen mit den Leistungsüberwachungsdaten wird auch ein Verlauf des ausgeführten Benutzercodes gespeichert.

Visualisierung von Leistungskennzahlen mit integrierten JUmPER-Magic-Befehlen.

Der Instrumentierungsmodus, in dem zusätzliche Leistungsereignisse erfasst werden, ist nur in Jupyter-Zellen aktiviert, die durch den Zell-Magic-Befehl %%execute_with_scorep angegeben werden. In diesem Modus instrumentiert Score-P den user code und ermöglicht so zusätzlich zu den standardmäßigen Systemleistungsmetriken eine detailliertere Analyse mit Tools wie Vampir.

Lizenz und Beitrag

JUmPER unterliegt der BSD-3-Klausel-Lizenz. Sie können gerne hier einen Beitrag leisten.

Referenzen

  • Werner, Manjunath, Frenzel, Torge. “Bridging between Data Science and Performance Analysis: Tracing of Jupyter Notebooks.” Proceedings of the First International Conference on AI-ML Systems. ACM, 2021.
  • Werner, Rygin, Gocht-Zech, Döbel, Lieber. “JUmPER: Performance Data Monitoring, Instrumentation and Visualization for Jupyter Notebooks.” SC24-W: Workshops of the International Conference for High Performance Computing, Networking, Storage and Analysis. IEEE, 2024.
  • Score-P
  • Score-P Python Bindings
  • Vampir

funded by:
Gefördert vom Bundesministerium für Bildung und Forschung.
Gefördert vom Freistaat Sachsen.