Tuning and Analysis Utilities (TAU)



The TAU (Tuning and Analysis Utilities) Performance System is a portable profiling and tracing toolkit for performance analysis of parallel programs written in Fortran, C, C++, Java, and Python. TAU gathers performance information while a program executes through instrumentation of functions, methods, basic blocks, and statements. The instrumentation consists of calls to TAU library routines, which can be incorporated into a program in several ways:

  • Automatic instrumentation of the code at the source level using the Program Database Toolkit (PDT)
  • Automatic instrumentation of the code using the compiler
  • Manual instrumentation using the instrumentation API
  • At runtime using library call interception
  • Dynamically using DyninstAPI
  • At runtime in the Java virtual machine

For more information on TAU instrumentation options, see: http://www.cs.uoregon.edu/Research/tau/docs/newguide/bk01ch01.html.

Compiling Your Application with TAU

While there are several methods of incorporating TAU instrumentation into a program, the two most common are automatic insertion (using the PDT source instrumentation method) and compiler instrumentation insertion. With either of these methods users must compile an application in a specific way so as to insert the TAU instrumentation that enables data collection. This involve