Extrae is the instrumentation package that captures information during the program execution and generates Paraver (and Dimemas) traces. It can use different mechanisms to insert the probes that vary from static interception of the runtime calls linking with the Extrae library to dynamic instrumentation using Dyninst. The most frequent scenario is to use LD_PRELOAD to intercept production binaries at loading time. The information collected by Extrae includes entry and exit to the programming model runtime, hardware counters (PAPI), call stack reference, user functions, periodic samples and user events.
Extrae currently supports the programming interfaces MPI, OpenMP, pthreads, OmpSs and CUDA.
Open source: LGPL
Barcelona Supercomputing Center