A high-performance library for measuring and profiling different code regions, supporting both wallclock time and hardware performance counters through PAPI.
- Region-based performance measurement: Mark and measure specific code sections
- Multiple measurement backends: POSIX timers and PAPI hardware counters
- Multi-language support: C and Fortran APIs
- MPI support: Parallel performance profiling capabilities
- C compiler (gcc, clang)
- Fortran compiler (gfortran, ifort)
- Python 3 (for instrumentation scripts)
- MPI: For parallel applications (enabled by default)
- PAPI: For hardware performance counters
The library supports three build methods: autotools-style configure script (recommended for most users), modern CMake, and traditional Makefiles.
The most familiar way for users accustomed to autotools:
# Configure, build and install
./configure
make
sudo make install
# Or use helper scripts
./configure
./build.sh # Build the project
sudo ./install.sh # Install the project