Chapter 1. Tau Instrumentation

1.1. Types of Instrumenation

TAU provides three methods to track the performance of your application. Library interposition using tau_exec, compiler directives or source transformation using PDT. Here is a table that lists the features/requirement for each method:

Table 1.1. Different methods of instrumenting applications

Method Requires recompiling Requires PDT Shows MPI events Routine-level event Low level events (loops, phases, etc...) Throttling to reduce overhead Ability to exclude file from instrumentation Ability to exclude other regions of code
Interposition     Yes     Yes    
Compiler Yes   Yes Yes   Yes Yes  
Source Yes Yes Yes Yes Yes Yes Yes Yes

The requirements for each method increases as we move down the table: tau_exec only requires a system with shared library support. Compiler based instrumentation requires re-compiling that target application and Source instrumentation aditionally requires PDT. For this reason we often recommend that users start with Library interposition and move down the table if more features are needed.