|
10.0 (revision 35c4bf227)
|
# Score-P
Score-P is an instrumentation and measurement framework, that,
together with analysis tools build on top of its output formats,
provides insight into massively parallel HPC applications, their
communication, synchronization, I/O, and scaling behavior to pinpoint
performance bottlenecks and their causes. It is a highly scalable and
easy-to-use tool suite for _profiling_ (summarizing program execution)
and _event tracing_ (capturing events in chronological order) of HPC
applications.
For a brief overview, please visit [Score-P on the Helmholtz Research
Software Directory](https://helmholtz.software/software/score-p).
For a detailed description, please refer to the article
_[The Score-P performance tools ecosystem](https://doi.org/10.3389/fhpcp.2025.1709051)_.
---
Everyone can become a contributor. Please see
[CONTRIBUTING.md](CONTRIBUTING.md) for details.
---
You can build and install Score-P using ready-to-use tarballs or a Git
checkout. For both options, please refer to [INSTALL](INSTALL) for a
complete list of build options, and consult [OPEN_ISSUES](OPEN_ISSUES)
for known deficiencies.
Tarballs are availble at
- https://score-p.org/ (releases, dependencies as separate packages)
- https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/ (releases, stable development)
- https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/development.html (development snapshots)
The URL for the public Git repository is https://gitlab.com/score-p/scorep.
## Build from a downloaded source package
Download a tarball and just do the following:
```console
$ tar xf scorep-<version>.tar.gz
$ mkdir scorep-<version>/_build
$ cd scorep-<version>/_build
$ ../configure --prefix=<PREFIX> <OPTIONS…>
$ make
$ make install
```
If not already in `$PATH`, this will also install the Score-P
dependencies CubeW, CubeLib, OTF2, and OPARI2 under PREFIX. Add
`PREFIX/bin` to `$PATH`.
The configure output, also accessible via the file `scorep.summary`,
will provide information about compilers used and components
found. Rerun configure with different options until satisfied.
After `make install` you will find html and pdf documentation as well
as usage examples under `PREFIX/share/doc/scorep`.
## Build from Git checkout
If building and installing from the Git checkout, the following
requirements are needed (assuming `PREFIX/bin` is in `$PATH`):
- AfS-dev (patched versions of Autotools):
Install via
```console
$ wget https://perftools.pages.jsc.fz-juelich.de/utils/afs-dev/afs-dev-latest.tar.gz
$ tar xf afs-dev-latest.tar.gz
$ cd afs-dev-latest
$ ./install-afs-dev.sh --continue-after-download --prefix=PREFIX
```
- Perftools-dev (code beautification and documentation generation):
Install via
```console
$ wget https://perftools.pages.jsc.fz-juelich.de/utils/perftools-dev/perftools-dev-latest.tar.gz
$ tar xf perftools-dev-latest.tar.gz
$ cd perftools-dev-latest
$ ./install-perftools-dev.sh --continue-after-download --prefix=PREFIX
```
- OPARI2, OTF2, CubeW, CubeLib
Download from https://score-p.org/, extract, and install into `PREFIX`.
Once the requirements are set up, build and install like this:
```console
$ ./bootstrap
$ mkdir _build
$ cd _build
$ ../configure --prefix=PREFIX <further options, see INSTALL>
$ make
$ make install
```
## Build using containers
Docker images are provided to ease development for common frameworks.
Images are published in DockerHub and are available for the following base images:
- Ubuntu: `scorep/devel-gcc` and `scorep/devel-clang`
- NVIDIA HPC SDK: `scorep/devel-nvhpc`
- Intel oneAPI: `scorep/devel-oneapi`
- AMD ROCm: `scorep/devel-rocm`
Images tagged as `latest` are for use with the main branch. For releases, use
the `major.bugfix` version of Score-P as tag. I.e., use `scorep/devel-gcc:8.4`
to build the Score-P 8.4 release in the GCC container.
Start the container with:
```console
[host]$ docker run [--rm] -it \
--cap-add SYS_PTRACE \
--cap-add SYS_ADMIN \
-u $(id -u):$(id -g) \
--volume $PWD:/workspace \
scorep/devel-gcc
[container]$ ./bootstrap
[container]$ mkdir _build
[container]$ cd _build
[container]$ ../configure
[container]$ make
```
## Citing
Please refer to the Score-P measurement infrastructure by citing the
overview article
_[The Score-P performance tools ecosystem](https://doi.org/10.3389/fhpcp.2025.1709051)_
Version-specific DOIs of the software can be found on
[Score-P's Zenodo page](https://zenodo.org/record/1240731).
See also [CITATION.cff](CITATION.cff) for machine-readable citation information.
Have fun!
---
Feel free to contact us via
- [support@score-p.org](mailto:support@score-p.org), or
- [Matrix chat](https://matrix.to/#/#score-p-user-group:hpc.rwth-aachen.de).