Tracing with TAU
In addition to profiling, TAU has the ability to trace code execution. This is useful for understanding the actual flow of executions within a job. Whereas profiling with TAU accumulates the number of calls and execution time for individual functions, tracing actually shows the order of execution and communication steps within a run.
The procedure for instrumenting a parallel job for tracing is similar to that for profiling. A parallel program can be instrumented at run time with tauex
, or at compile time by setting the environment variable TAU_MAKEFILE
in order to specify a tracing makefile. In addition, you must set the set the environment variable TAU_TRACE
to 1.
Trace results can be visualized with Argonne's Jumpshot (bundled with TAU). After collecting the trace files, merge and convert TAU traces to slog2 format as described in the Users Guide. The Vampir trace visualizer is similarly supported.