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

Contact

Decorative Header Image

JUmPER

Computational performance, such as CPU or GPU utilization, is essential for analyzing machine learning applications and deploying them efficiently. To address this, JUmPER is a dedicated kernel for the Jupyter environment, providing both coarse-grained performance monitoring and fine-grained analysis capabilities for Python user code.
It provides the following main features:

  • Collection of performance system metrics alongside executed code
  • Visualization of performance system metrics directly in Jupyter
  • Support of local and multi-CPU/GPU HPC setups
  • Export of performance system metrics for additional data analysis tasks
  • Instrumentation of user code with Score-P for further detailed performance insights

Installation

pip install jumper-kernel
python -m jumper.install

pip install scorep

From the Score-P Python bindings: You need at least Score-P 5.0, build with –enable-shared and the gcc compiler plugin. Please make sure that scorep-config is in your PATH variable. For Ubuntu LTS systems there is a non-official ppa of Score-P available.

How JUmPER works

When running user code in a Jupyter cell using JUmPER, performance system metrics monitoring is always enabled. For this, JUmPER launches a separate Python process to collect these metrics for each user code cell before execution. The user code is then forwarded to the default IPython interpreter for execution.

After execution, the monitored data can be visualized using built-in JUmPER commands. Additionally, JUmPER automatically displays a summary of the performance data for the most recently executed cell, including runtime, average, maximum, and minimum values for metrics such as CPU usage, memory, and GPU usage etc. A history of the user code executed is also stored, along with the performance monitoring data.

Visualization. Visualization of performance metrics with built-in JUmPER magic commands.

Instrumentation mode, which collects additional performance events, is only enabled in Jupyter cells specified by the %%execute_with_scorep cell magic command. In this mode, Score-P instruments the user code, allowing for more detailed analysis with tools like Vampir, in addition to the standard system performance metrics.

Visualization. Instrumentation of a user code cell with Score-P and display of the collected performance data with Vampir.

License and Contribution

JUmPER is under BSD-3-Clause License. Feel free to contribute here.

References

  • 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.