Package: extrap
Extra-PAutomated performance modeling for HPC applicationsExtra-P is an automatic performance-modeling tool that supports the user in the identification ofscalability 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.The following video on the Laboratory for Parallel Programming @ TUDaYouTubechannel provides a quick introduction to Extra-P.Extra-P is developed byTU Darmstadt–
in collaboration withETH Zurich.For questions regarding Extra-P, please send a message toextra-p-support@lists.parallel.informatik.tu-darmstadt.de.Table of ContentsRequirementsInstallationHow to use itLicenseCitationPublicationsRequirementsPython 3.8 or highernumpypycubexrmarshmallowpackagingtqdmPySide6 (for GUI)matplotlib (for GUI)pyobjc-framework-Cocoa (only for GUI on macOS)InstallationUse the following command to install Extra-P and all required packages viapip.python -m pip install extrap --upgradeThe--upgradeforces the installation of a new version if a previous version is already installed.UsageExtra-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 thequick start guide.NoteExtra-P is designed for weak-scaling, therefore, directly modeling of strong-scaling behaviour is not supported.
Instead of modeling the runtime of your strong-scaling experiment, you can model the resource consumption, i.e.,
the runtimetimesthe number of processors.Graphical user interfaceThe graphical user interface can be started by executing theextrap-guicommand.Command line interfaceThe command line interface is available under theextrapcommand:extrapOPTIONS(--cube|--text|--talpas|--json|--extra-p-3)FILEPATHYou can use different input formats as shown in the examples below:Text files:extrap --text test/data/text/one_parameter_1.txtJSON files:extrap --json test/data/json/input_1.JSONTalpas files:extrap --talpas test/data/talpas/talpas_1.txtCreate model and save it to text file at the given
path:extrap --out test.txt --text test/data/text/one_parameter_1.txtThe Extra-P command line interface has the following options.ArgumentsPositionalFILEPATHSpecify a file path for Extra-P to work withOptional-h,--helpShow help message and exit--versionShow program's version number and exit--log{debug,info,warning,error,critical}Set program's log level (default:warning)Input options--cubeLoad a set of CUBE files and generate a new experiment--extra-p-3Load data from Extra-P 3 (legacy) experiment--jsonLoad data from JSON or JSON Lines input file--talpasLoad data from Talpas data format--textLoad data from text input file--experimentLoad Extra-P experiment and generate new models--scaling{weak,strong}Set weak or strong scaling when loading data from CUBE files (default:weak)Modeling options--medianUse median values for computation instead of mean values--modeler{default,basic,refining,multi-parameter}Selects the modeler for generating the performance models--optionsKEY=VALUE[KEY=VALUE...]Options for the selected modeler--help-modeler{default,basic,refining,multi-parameter}Show help for modeler options and exitOutput options--outOUTPUT_PATHSpecify the output path for Extra-P results--print{all,callpaths,metrics,parameters,functions,FORMAT_STRING}Set which information should be displayed after modeling. Use one of the predefined values or specify a formatting string using placeholders (seedocs/output-formatting.md) (default:all).--save-experimentEXPERIMENT_PATHSaves the experiment including all models as Extra-P experiment (if no extension is specified, “.extra-p” is appended)--model-set-nameNAMESet the name of the generated set of models when outputting an experiment (default: “New model”)LicenseBSD 3-Clause "New" or "Revised" LicenseCitationPlease cite Extra-P in your publications if it helps your research:@inproceedings{calotoiu_ea:2013:modeling,
  author = {Calotoiu, Alexandru and Hoefler, Torsten and Poke, Marius and Wolf, Felix},
  month = {November},
  title = {Using Automated Performance Modeling to Find Scalability Bugs in Complex Codes},
  booktitle = {Proc. of the ACM/IEEE Conference on Supercomputing (SC13), Denver, CO, USA},
  year = {2013},
  pages = {1--12},
  publisher = {ACM},
  isbn = {978-1-4503-2378-9},
  doi = {10.1145/2503210.2503277}
}PublicationsAlexandru Calotoiu, David Beckingsale, Christopher W. Earl, Torsten Hoefler, Ian Karlin, Martin Schulz, Felix Wolf: Fast Multi-Parameter Performance Modeling. In Proc. of the 2016 IEEE International Conference on Cluster Computing (CLUSTER), Taipei, Taiwan, pages 172–181, IEEE, September 2016.PDFMarcus Ritter, Alexandru Calotoiu, Sebastian Rinke, Thorsten Reimann, Torsten Hoefler, Felix Wolf:Learning Cost-Effective Sampling Strategies for Empirical Performance Modeling.In Proc. of the 34th IEEE International Parallel and Distributed Processing Symposium (IPDPS), New Orleans, LA, USA, pages 884–895, IEEE, May 2020.PDFMarcus Ritter, Alexander Geiß, Johannes Wehrstein, Alexandru Calotoiu, Thorsten Reimann, Torsten Hoefler, Felix Wolf:Noise-Resilient Empirical Performance Modeling with Deep Neural Networks.In Proc. of the 35th IEEE International Parallel and Distributed Processing Symposium (IPDPS), Portland, Oregon, USA, pages 23–34, IEEE, May 2021.PDF