Introduction
Coding Examples
Documentation
Developer Information
Download


Application Examples


paraprof viewer


paraprof viewer


vampir viewer

TAU

Introduction

TAU (Tuning and Analysis Utilities) is a set of tools for analyzing the performance of C, C++, Fortran and Java programs. It is normally used as follows:

  1. Instrument the program by inserting TAU macros into the program (this can be done automatically).
  2. Run the program. Files containing information about the program performance are automatically generated.
  3. View the results with TAU's pprof, the TAU visualizer paraprof (or racy), or a third-party visualizer (such as VAMPIR)

TAU collects much more information than what is available through prof or gprof, the standard Unix utilities. Also available through TAU are:

  • Per-process, per-thread and per-host information (supports pthreads).
  • Inclusive and exclusive function times.
  • Profiling groups that allow you to organize data collection.
  • Access to hardware counters on some systems.
  • Per-class and per-instance information.
  • Separate data for each template instantiation.
  • Start/stop timers for profiling arbitrary sections of code.
  • Support for collection of statistics on user-defined events.

TAU is designed so that when you turn off profiling (by disabling TAU macros) there is no overhead. Also, TAU uses the Program Database Toolkit (PDT), which is a tool infrastructure for static and dynamic analysis of object-oriented software. PDT provides access to the high-level interface of source code for analysis tools and applications.

Documentation

The TAU website contains a User's Guide, a list of publications, a list of Frequently Asked Questions, and also a self-running demo.

Coding Examples

Example program Description
matmult.f90 AUTOMATIC INSTRUMENTATION Simple matrix multiplication example to illustrate TAU's automatic profiling functionality and the use of TAU's tools pprof and paraprof to visualize the results. (More information about using TAU.)
ring.c AUTOMATIC INSTRUMENTATION Sends MPI message in a ring. (More information about using TAU.)
ring.f90 AUTOMATIC INSTRUMENTATION Fortran version. Sends MPI message in a ring. (More information about using TAU.)
pdgesvdriver.f90 AUTOMATIC INSTRUMENTATION Example program solves Ax=b via ScaLAPACK routine PDGESV (More information about using TAU.)
pdgssvx.c AUTOMATIC INSTRUMENTATION Example (taken from SuperLU) illustrates how to use PDGSSVX with the full options to a solve a linear system. (More information about using TAU.)
matmult.inst.f90 MANUAL INSTRUMENTATION Show TAU instrumentation changes made to the source during auto generation. Simple matrix multiplication example.
ring.inst.c MANUAL INSTRUMENTATION Show TAU instrumentation changes made to the source during auto generation. Sends MPI message in a ring.

Developer Information

TAU was developed at the University of Oregon and at the Advanced Computing Laboratory at Los Alamos National Laboratory. Its principal developers were Sameer Shende, Allen Malony, Janice Cuny, Kathie Lindlan, Peter Beckman and Steve Karmesin.

Tools News Home