Virtual Institute — High Productivity Supercomputing

Score-P

Scalable Performance Measurement Infrastructure for Parallel Codes

The Score-P measurement infrastructure is a highly scalable and easy-to-use tool suite for profiling and event tracing of HPC applications.

It has been created in the German BMBF project SILC and the US DOE project PRIMA and will be maintained and enhanced in a number of follow-up projects such as LMAC, Score-E, and HOPSA. Score-P is developed under a BSD 3-Clause License and governed by a meritocratic governance model.

General

Score-P offers the user a maximum of convenience by supporting a number of analysis tools. Currently, it works with Scalasca, Vampir, and Tau and is open for other tools. Score-P comes together with the new Open Trace Format Version 2, the Cube4 profiling format and the OPARI2 instrumenter (see below).

Score-P is available under the New BSD Open Source license.

Get in contact

If you have any comments or questions regarding the use and installation of Score-P, or want to report a bug you discovered, please send an email to

support@score-p.org

You can also sign up to the Score-P News mailing list to receive the latest news about

  • new releases,
  • tutorials,
  • workshops,
  • and other Score-P-related events.

Overview article

Please refer to the Score-P paper measurement infrastructure by citing the overview article "Score-P: A Joint Performance Measurement Run-Time Infrastructure for Periscope, Scalasca, TAU, and Vampir" (this link provides citations in various formats) (PDF).

By Andreas Knüpfer, Christian Feld (né Rössel), Dieter an Mey, Scott Biersdorff, Kai Diethelm, Dominic Eschweiler, Markus Geimer, Michael Gerndt, Daniel Lorenz, Allen Malony, Wolfgang E. Nagel, Yury Oleynik, Peter Philippen, Pavel Saviankou, Dirk Schmidl, Sameer Shende, Ronny Tschüter, Michael Wagner, Bert Wesarg, and Felix Wolf.

Published in Tools for High Performance Computing 2011: Proceedings of the 5th International Workshop on Parallel Tools for High Performance Computing, September 2011, ZIH, Dresden, pp 79-91.

Release downloads

The current release tarballs of Score-P, OTF2, and OPARI2 as well as of Cube are available for download (see below for development builds):

  • Score-P 8.1
    sha256sum:3a40b481fce610871ddf6bdfb88a6d06b9e5eb38c6080faac6d5e44990060a37
    Note that Score-P 8.x is supposed to work with the OTF2 3.0 series, the Cube 4.8 series, and the OPARI2 2.0 series. Please see the ChangeLog file for the recent modifications, the OPEN_ISSUES file for known limitations, and the INSTALL file for installation instructions.
    DOI
  • OTF2 3.0.3
    sha256sum: 18a3905f7917340387e3edc8e5766f31ab1af41f4ecc5665da6c769ca21c4ee8
    Note that OTF2 3.0.x is not supposed to work with the Score-P 7.x series. Please see the ChangeLog file for the recent modifications and the OPEN_ISSUES file for known limitations.
    DOI
  • Cube 4.x on scalasca.org

  • OPARI2 2.0.7
    sha256sum: e302a4cc265eb2a4aa27c16a90eabd9e1e58cb02a191dd1c4d86f9a0df128715
    Please see the ChangeLog file for the recent modifications and the OPEN_ISSUES file for known limitations.
    DOI

Development downloads

In addition to the release tarballs, please find recent CI approved development builds at these locations (with limited support though):

Access to source code repository

The ready-to-use tarballs are created from our source-code repository. A read-only mirror of that repository is publicly available at gitlab.com: https://gitlab.com/score-p/scorep

The project can be forked and issues can be created. A basic CICD configuration is in place that runs on pushes. Please follow the README to install additional requirements needed for Score-P development.

So far, there is just a repository for Score-P, not for it's dependencies.

Documentation

After installation you will find documentation under <prefix>/share/<package>/doc. Alternatively you can browse the latest documentation on-line or download a pdf:

  • Score-P documentation (html |pdf)
  • OTF2 documentation (html |pdf)
    OTF2 3.0 Python bindings documentation (html)
  • Cube 4.x documentation site (scalasca.org)
  • OPARI2 documentation (html |pdf)

 

Score-P Instrumentation and Run-Time Measurement

Score-P is the central component and incorporates all other components. It contains the code instrumentation functionality supporting various methods and it performs the run-time data collection in the parallel environment.

OTF2 - The Open Trace Format Version 2

The Open Trace Format 2 is a highly scalable, memory efficient event trace data format plus support library. It will become the new standard trace format for Scalasca, Vampir, and Tau and is open for other tools.

OTF2 is the common successor format for the Open Trace Format (OTF) and the Epilog trace format. It preserves the essential features as well as most record types of both and introduces new features such as support for multiple read/write substrates, in-place time stamp manipulation, and on-the-fly token translation. In particular, it will avoid copying during unification of parallel event streams.

Cube 4 Profiling Data Format

Cube4 is a highly scalable, memory efficient, flexible profile format with support libraries, a set of tools and a GUI. It will become the new standard profile format for Scalasca and Score-P and is open for other tools.

Cube4 is the successor profile format of the Cube3 profile format. It preserves the Cube3 data model and extends its internal mechanisms for saving profile data. In particular, it is able to deal with large amounts of data, and supports dynamic loading and incremental writing of data. In contrast to Cube3, Cube4 is a hybrid format. Instances consist of an XML anchor file and a set of binary files that store the profile data in a single binary archive.

For backward compatibility, Cube4 will provide reading support for the Cube3 profile format (former Scalasca default).

OPARI2 OpenMP instrumenter

OPARI2 is a source-to-source instrumentation tool for OpenMP and hybrid codes. It surrounds OpenMP directives and runtime library calls with calls to the POMP2 measurement interface.

OPARI2 will provide you with a new initialization method that allows for multi-directory and parallel builds as well as the usage of pre-instrumented libraries. Furthermore, an efficient way of tracking parent-child relationships was added. Additionally, we extended OPARI2 to support instrumentation of OpenMP 3.0 tied tasks. Please find a link to the current tarball in the download section.

Score-P Plugins

Score-P plugins provide an easy way to extend the functionality of Score-P for specific use-cases. There are two different plugin interfaces: metrics and substrates. The former enables developers to implement new metric sources to be consumed by Score-P that integrate seamlessly with the exiting metric sources. The latter allows the developer to add new event consumers besides the existing profiling and tracing, e.g., to evaluate recorded data at runtime. The overview article Extending the Functionality of Score-P Through Plugins: Interfaces and Use Cases introduces these plugins.

In order to write you own plugins, please consult the examples in the Score-P documentation:

Alternatively, please survey the collection of existing plugins at our Github repository.

Supported Performance Tools

Score-P is designed as common generic instrumentation and run-time data collection infrastructure for a number of performance analysis tools.

Currently, the following tools are working with the Score-P software:

Further contributors are:

 

The development was initially funded by BMBF/Germany and DOE/USA.

 

If you have any questions or encounter bugs, please don't hesitate to contact us under support@score-p.org.