PapiEx

PapiEx is a command-line tool that allows users to measure hardware performance counters without source modification. PapiEx works with threaded, MPI and hybrid programs as well, and presents aggregate statistics across threads and tasks.

Features

  • Hardware metrics measured (oncore and off-core)
  • Works only with shared/dynamic executables
  • Measure both native CPU events and PAPI presets
  • Automatic measurement of known useful performance events based on processor
  • Tested on ia64, Core i7, x86, x86-64, mips64
  • Data summarized across all threads of a process, and all tasks in a job
  • Also measures I/O, MPI and thread synchronization timings

Click here for a sample papiex output on a Nehalem-architecture machine.

Proprietary and Open Source Papiex versions
There are two versions of PapiEx available, a commercial version which is actively developed and supported, and an unsupported Open Source version with fewer features. The table below lists the important differences:

Feature Commercial PapiEx Open Source PapiEx
License Proprietary closed source LGPL
Works with threads Yes Yes
Works with MPI Yes Yes
Memory and Resource statistics Yes Yes
Task and Thread summaries Yes Yes
Processor-specific derived metrics available Yes No
I/O statistics Yes No
MPI statistics Yes No
Thread synchronization statistics Yes No
MPI profiling using mpiP Yes No
Support available Yes No
Cost Request quote Free

For a quote on the commercial PapiEx, please direct queries to sales AT samaratechnologygroup.com. The Open Source PapiEx can be found here.