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:
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.
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.
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.
JUmPER is under BSD-3-Clause License. Feel free to contribute here.