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.