Skip to content

Instrumentation framework to generate execution traces of the most used parallel runtimes.

License

Notifications You must be signed in to change notification settings

numpex/extrae

This branch is 53 commits behind bsc-performance-tools/extrae:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
BSC Performance Tools
Aug 30, 2024
69812a3 · Aug 30, 2024
May 10, 2024
Aug 30, 2024
Apr 11, 2024
Jun 18, 2024
Apr 5, 2024
Mar 3, 2022
Aug 30, 2024
Jun 19, 2024
Apr 11, 2024
Oct 26, 2010
Oct 14, 2016
May 13, 2022
Oct 5, 2015
Apr 3, 2024
Oct 27, 2009
Jun 18, 2024
Mar 5, 2024
Mar 5, 2024
Jul 16, 2010
Oct 26, 2017
No commit message
Jun 25, 2014
Aug 30, 2024
Mar 1, 2023
Mar 1, 2023

Repository files navigation

Extrae

A dynamic instrumentation package to trace programs compiled and run with the shared memory model (like OpenMP and pthreads), the message passing (MPI) programming model or both programming models (different MPI processes using OpenMP or pthreads within each MPI process). Extrae generates trace files that can be later visualized with Paraver.

Optional dependencies

Please, make sure to install the development versions of all packages (-dev, -devel) when available.

  • libunwind (>=1.0)
    Used to access the callstack within Extrae. This lets the analyst gather MPI call-sites and emit information on manually added events. Required for Intel x86_64 and ia64 architectures.
  • PAPI
    Used to access the HW counters of the microprocessor. This increases the richness of the gathered traces. It is highly recommended to install and use PAPI with extrae, altough on some old kernels this may require patching.
  • libiberty and libbfd (from the binutils package)
    These two libraries are required to translate gathered application addresses into source code information (file name, address line and function name). Highly recommended.
  • libxml2 (>=2.5.0)
    Used to parse the configuration of the instrumentation package instead of using environment variables. Highly recommended.
  • Dyninst Support is in experimental status. It is known to work on Linux PPC32/64 systems and on Linux x86/x86_64 systems.
  • libz
    libiberty and libbfd may require libz. Also libz may be used to generate compressed traces directly.
  • MPI
    Execute MPI jobs. Tested with MPICH, MPICH2 and OpenMPI. Others may work.
  • OpenMP runtime (gcc, ibm or icc)
    Execute OpenMP jobs.
  • CUDA / CUPTI
    Execute CUDA-based applications.
  • OpenCL
    Execute OpenCL-based applications.

Installation instructions

If installing from Git, you will need to generate a configure file by running:

$ ./boostrap

then continue with installation as if from a release.

Refer to the INSTALL file for general installation instructions.
Refer to the INSTALL-examples file for examples of specific installation instructions.

About

Instrumentation framework to generate execution traces of the most used parallel runtimes.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 92.7%
  • C++ 3.2%
  • M4 1.6%
  • Makefile 1.0%
  • Shell 0.9%
  • Python 0.3%
  • Other 0.3%