Skip to content

Feature/scorep feedback #42

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Jun 5, 2025
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/unit_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:

jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
# Checks-out repository under $GITHUB_WORKSPACE
- uses: actions/checkout@v4
Expand Down Expand Up @@ -49,8 +49,8 @@ jobs:

- name: Run userpersistence tests
run: |
python -m unittest tests/test_userpersistence.py
python -m unittest tests.test_userpersistence

- name: Run kernel tests
run: |
python -m unittest tests/test_kernel.py
python -m unittest tests.test_kernel
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ MODE=[disk,memory]
```

When using persistence in `disk` mode, user can also define directory to which serializer output will be saved with `SCOREP_KERNEL_PERSISTENCE_DIR` environment variable.
To see the detailed report for marshalling steps - `MARSHALLING_DETAILED_REPORT=1` environment variable can be set.

`%%execute_with_scorep`

Expand Down Expand Up @@ -235,6 +236,11 @@ Similar yields for cloudpickle. Use the `%%marshalling_settings` magic command t

When dealing with big data structures, there might be a big runtime overhead at the beginning and the end of a Score-P cell. This is due to additional data saving and loading processes for persistency in the background. However this does not affect the actual user code and the Score-P measurements.

## Logging Configuration
To adjust logging and obtain more detailed output about the behavior of the JUmPER kernel, refer to the `src/logging_config.py` file.

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.

# Future Work

The kernel is still under development. The following is on the agenda:
Expand Down
52 changes: 51 additions & 1 deletion examples/ExampleBasic.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,57 @@
{
"cell_type": "markdown",
"metadata": {},
"source": []
"source": [
"### Large array processing with Score-P\n",
"This example illustrates the steps involved in the marshalling process when a cell instrumented with Score-P is executed with a large data payload as input.\n"
]
},
{
"metadata": {},
"cell_type": "code",
"outputs": [],
"execution_count": null,
"source": [
"import time\n",
"import numpy as np\n",
"\n",
"def generate_array_with_size(size_mb, dtype=np.float32):\n",
" size_bytes = size_mb * 1024 * 1024\n",
" element_size = np.dtype(dtype).itemsize\n",
" num_elements = size_bytes // element_size\n",
" array = np.zeros(num_elements, dtype=dtype)\n",
" return array\n",
"\n",
"big_array = generate_array_with_size(size_mb=1000)"
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Enable marshalling detailed report for each step."
},
{
"metadata": {},
"cell_type": "code",
"outputs": [],
"execution_count": null,
"source": "%env MARSHALLING_DETAILED_REPORT=1"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Run cell with Score-P"
},
{
"metadata": {},
"cell_type": "code",
"outputs": [],
"execution_count": null,
"source": [
"%%execute_with_scorep\n",
"big_array\n",
"time.sleep(4)"
]
}
],
"metadata": {
Expand Down
Loading