10.0 (revision 35c4bf227)
Score-P README
# 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).