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

 
 

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%