Close

Presentation

JUmPER: Performance Data Monitoring, Instrumentation and Visualization for Jupyter Notebooks
DescriptionComputational performance, e.g. CPU or GPU utilization, is crucial
for analyzing machine learning (ML) applications and their resource-
efficient deployment. However, the ML community often lacks
accessible tools for holistic performance engineering, especially
during exploratory programming such as implemented by Jupyter.
Therefore, we present JUmPER, a Jupyter kernel that supports coarse-
grained performance monitoring and fine-grained analysis tasks of
user code in Jupyter. JUmPER collects system metrics and stores them
alongside executed user code. Built-in Jupyter magic commands provide visualizations of the monitored performance data directly in Jupyter. Additionally, code instrumentation can be enabled to collect performance events using Score-P. JUmPER preserves
the exploratory programming experience by seamlessly integrating
with Jupyter and reducing kernel runtime overhead through in-memory
(pipe) communication and parallel marshalling of Python's interpreter
state for the Score-P execution. JUmPER thus provides a low-hurdle
infrastructure for performance engineering in Jupyter and supports
resource-efficient ML applications.