You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+6-68Lines changed: 6 additions & 68 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,13 +8,9 @@
8
8
9
9
# A Jupyter Kernel for Performance Engineering
10
10
11
-
This is the JUmPER Kernel that enables you to:
11
+
This is the JUmPER Kernel that enables you to instrument and trace or profile Jupyter cells with [Score-P](https://score-p.org/).
12
12
13
-
1. Monitor Jupyter cells and measure system metrics like cpu, gpu, I/O or memory utilization.
14
-
15
-
2. Instrument and trace or profile Jupyter cells with [Score-P](https://score-p.org/).
16
-
17
-
For binding to Score-P, the kernel uses the [Score-P Python bindings](https://github.com/score-p/scorep_binding_python). Monitoring does not rely on Score-P and you can use it without a Score-P installation.
13
+
For binding to Score-P, the kernel uses the [Score-P Python bindings](https://github.com/score-p/scorep_binding_python).
18
14
19
15
20
16
@@ -24,7 +20,6 @@ For binding to Score-P, the kernel uses the [Score-P Python bindings](https://gi
-[Configuring Score-P in Jupyter](#configuring-score-p-in-jupyter)
30
25
-[Multi-Cell Mode](#multi-cell-mode)
@@ -33,14 +28,15 @@ For binding to Score-P, the kernel uses the [Score-P Python bindings](https://gi
33
28
-[Limitations](#limitations)
34
29
-[Serialization Type Support](#serialization-type-support)
35
30
-[Overhead](#overhead)
31
+
-[Logging Configuration](#logging-configuration)
36
32
-[Future Work](#future-work)
37
33
-[Citing](#citing)
38
34
-[Contact](#contact)
39
35
-[Acknowledgments](#acknowledgments)
40
36
41
37
# Installation
42
38
43
-
To install the kernel and required dependencies for supporting the monitoring features:
39
+
To install the kernel and required dependencies:
44
40
45
41
```
46
42
pip install jumper-kernel
@@ -57,7 +53,6 @@ The kernel will then be installed in your active python environment.
57
53
You can select the kernel in Jupyter as `jumper`.
58
54
59
55
**For using the Score-P features of the kernel you need a proper Score-P installation.**
60
-
Note: this is not required for the monitoring feature of system metrics.
61
56
62
57
```
63
58
pip install scorep
@@ -72,58 +67,6 @@ From the Score-P Python bindings:
72
67
73
68
# Usage
74
69
75
-
## Monitoring
76
-
77
-
Every cell that is executed will be monitored by a parallel running process that collects system metrics for CPU, Memory, IO and if available GPU. Besides that, Jumper forwards the execution of that code to the default Python kernel.
78
-
79
-
The frequency for performance monitoring can be set via the `JUMPER_REPORT_FREQUENCY`environment variable.
80
-
81
-
```
82
-
%env JUMPER_REPORT_FREQUENCY=2
83
-
```
84
-
85
-
Additionally, the number of reports required to store performance data can be defined by the `JUMPER_REPORTS_MIN` environment variable.
86
-
87
-
```
88
-
%env JUMPER_REPORTS_MIN=2
89
-
```
90
-
91
-
The performance data is recorded in-memory and the kernel provides several magic commands to display and interact with the data:
92
-
93
-
94
-

95
-
96
-
`%%display_code_history`
97
-
98
-
Shows the history of the code of monitored cells with index and timestamp.
99
-
100
-
`%%display_code_for_index`
101
-
102
-
Shows the code for the cell of the selected index.
103
-
104
-
105
-

106
-
107
-
`%%display_graph_for_last`
108
-
109
-
Shows the performance display for the last monitored cell.
110
-
111
-
`%%display_graph_for_index [index]`
112
-
113
-
Shows the performance display for the cell of the selected index.
114
-
115
-
`%%display_graph_for_all`
116
-
117
-
Shows the accumulated performance display for all monitored cells.
118
-
119
-
`%%perfdata_to_variable [varname]`
120
-
121
-
Exports the performance data to a variable
122
-
123
-
`%%perfdata_to_json [filename]`
124
-
125
-
Exports the performance data and the code to json files.
126
-
127
70
## Score-P Instrumentation
128
71
129
72
### Configuring Score-P in Jupyter
@@ -228,8 +171,6 @@ Stops the marking process and writes the marked cells in a Python script. Additi
228
171
229
172
# Presentation of Performance Data
230
173
231
-
For the monitoring data, use the build-in magic commands or build your own visualizations after exporting the data to a variable or json via the introduced magic commands.
232
-
233
174
To inspect the Score-P collected performance data, use tools as Vampir (Trace) or Cube (Profile).
234
175
235
176
# Limitations
@@ -249,14 +190,11 @@ When dealing with big data structures, there might be a big runtime overhead at
249
190
## Logging Configuration
250
191
To adjust logging and obtain more detailed output about the behavior of the JUmPER kernel, refer to the `src/logging_config.py` file.
251
192
252
-
This file contains configuration options for controlling the verbosity, format, and destination of log messages. You can customize it to suit your debugging or monitoring needs.
193
+
This file contains configuration options for controlling the verbosity, format, and destination of log messages. You can customize it to suit your debugging needs.
253
194
254
195
# Future Work
255
196
256
-
The kernel is still under development. The following is on the agenda:
257
-
258
-
- Provide perfmonitors for multi node setups
259
-
- Config for default perfmonitor to define collected metrics
description='This is a Jupyter Python Kernel for performance engineering. Beside performance data as CPU, GPU, memory utilization it supports performance data recording with Score-P.'
14
+
description='This is a Jupyter Python Kernel for Score-P instrumentation. It supports performance data recording with Score-P for fine-grained performance analysis.'
0 commit comments