Skip to main content

Extra-P, automated performance modeling for HPC applications

Project description


Automated performance modeling for HPC applications

PyPI - Python Version GitHub release (latest by date) PyPI version PyPI - License GitHub issues GitHub pull requests GitHub Workflow Status

Screenshot of Extra-P Extra-P is an automatic performance-modeling tool that supports the user in the identification of scalability bugs. A scalability bug is a part of the program whose scaling behavior is unintentionally poor, that is, much worse than expected. A performance model is a formula that expresses a performance metric of interest such as execution time or energy consumption as a function of one or more execution parameters such as the size of the input problem or the number of processors.

Extra-P uses measurements of various performance metrics at different execution configurations as input to generate performance models of code regions (including their calling context) as a function of the execution parameters. All it takes to search for scalability issues even in full-blown codes is to run a manageable number of small-scale performance experiments, launch Extra-P, and compare the asymptotic or extrapolated performance of the worst instances to the expectations.

Extra-P generates not only a list of potential scalability bugs but also human-readable models for all performance metrics available such as floating-point operations or bytes sent by MPI calls that can be further analyzed and compared to identify the root causes of scalability issues.

Extra-P is developed by TU Darmstadt – in collaboration with ETH Zurich.

For questions regarding Extra-P please send a message to

Table of Contents

  1. Requirements
  2. Installation
  3. How to use it
  4. License


  • Python 3.7 or higher
  • numpy
  • pycubexr
  • marshmallow
  • tqdm
  • PySide2 (for GUI)
  • matplotlib (for GUI)
  • pyobjc-framework-Cocoa (only for GUI on macOS)


Use the following command to install Extra-P and all required packages via pip.

python -m pip install extrap --upgrade

The --upgrade forces the installation of a new version if a previous version is already installed.


Extra-P can be used in two ways, either using the command-line interface or the graphical user interface. More information about the usage of Extra-P with both interfaces can be found in the quick start guide .

Graphical user interface

The graphical user interface can be started by executing the extrap-gui command.

Command line interface

The command line interface is available under the extrap command:

extrap OPTIONS (--cube | --text | --talpas | --json | --extra-p-3) FILEPATH

You can use different input formats as shown in the examples below:

  • Text files: extrap --text test/data/text/one_parameter_1.txt
  • JSON files: extrap --json test/data/json/input_1.JSON
  • Talpas files: extrap --talpas test/data/talpas/talpas_1.txt
  • Create model and save it to text file at the given path: extrap --out test.txt --text test/data/text/one_parameter_1.txt

The Extra-P command line interface has the following options.

FILEPATH Specify a file path for Extra-P to work with
-h, --help Show help message and exit
--version Show program's version number and exit
--log {debug, info, warning, error, critical} Set program's log level (default: warning)
Input options
--cube Load data from CUBE files
--text Load data from text files
--talpas Load data from Talpas data format
--json Load data from JSON or JSON Lines file
--extra-p-3 Load data from Extra-P 3 experiment
--scaling {weak, strong} Set weak or strong scaling when loading data from CUBE files (default: weak)
Modeling options
--median Use median values for computation instead of mean values
--modeler {default, basic, refining, multi-parameter} Selects the modeler for generating the performance models
--options KEY=VALUE [KEY=VALUE ...] Options for the selected modeler
--help-modeler {default, basic, refining, multi-parameter} Show help for modeler options and exit
Output options
--out OUTPUT_PATH Specify the output path for Extra-P results
--print {all, callpaths, metrics, parameters, functions} Set which information should be displayed after modeling (default: all)
--save-experiment EXPERIMENT_PATH Saves the experiment including all models as Extra-P experiment (if no extension is specified, “.extra-p” is appended)


BSD 3-Clause "New" or "Revised" License

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for extrap, version 4.0.3
Filename, size File type Python version Upload date Hashes
Filename, size extrap-4.0.3-py3-none-any.whl (136.4 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size extrap-4.0.3.tar.gz (94.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page