Instrumentation in HPC++
HPC++ programs can be instrumented for tracing and replay
- Tracing
Program execution traces can be generated for PSTL programs for a number
of Event classes of Tulip. TAU provides filters for processsing these traces.
- Replay
PSTL programs can be replayed using Ariadne replay facilities in TAU. It
uses a deterministic replay algorithm for message passing programs using
Tulip RTS and MPI. Event traces are generated using the tracing mode and
the traces are merged and filtered using Ariadne filters. Replay and tracing
induce an overhead on the execution that is proportional to the amount of
communication..
- Performance profiling
Both PSTL and HPC++lib programs can be instrumented for function and aggregate
profiling.
Function profiling shows how many times a function was invoked and the
time spent in the function exclusively and inclusive of other functions
that it calls. Aggregate profiling shows how many times an event took place
on each aggregate spanning one or more threads.
Currently, the user needs to insert the profiling instrumentation to identify
the aggregates that should be shown. The runtime system is preinstrumented.