Skip to content

TAU

Description

tau website

TAU Performance System® is a portable profiling and tracing toolkit for performance analysis of parallel programs written in Fortran, C, C++, Java, Python. TAU (Tuning and Analysis Utilities) is capable of gathering performance information through instrumentation of functions, methods, basic blocks, and statements. All C++ language features are supported including templates and namespaces. The API also provides selection of profiling groups for organizing and controlling instrumentation. The instrumentation can be inserted in the source code using an automatic instrumentor tool based on the Program Database Toolkit (PDT), dynamically using DyninstAPI, at runtime in the Java Virtual Machine, or manually using the instrumentation API.

Environment Modules

Run module spider tau to find out what environment modules are available for this application.

Environment Variables

  • HPC_TAU_DIR - installation directory
  • HPC_TAU_BIN - executable directory
  • HPC_TAU_LIB - library directory
  • HPC_TAU_DOC - examples directory
  • HPC_PDT_DIR - installation directory
  • HPC_PDT_BIN - executable directory
  • HPC_PDT_INC - includes directory

Additional Usage Information

This module defines the following defaults:

TAU_TRACE=0,
TAU_CALLPATH=1,
TAU_PROFILE=1,
TAU_MAKEFILE=Makefile.tau-callpath-icpc-papi-pdt,
TAU_METRICS=TIME:PAPI_FP_OPS:PAPI_L2_DCM.

The TAU_MAKEFILE sets the tools (pdt), compilers (intel) and parallel paradigm (serial, or mpi and/or openmp) to be used in the instrumentation.

For TAU 2.21.4 it is only necessary to load up the TAU 2.21.4 environment. Advanced users may need to load up pdt/3.18 for library and command access.

For normal usage use the defaults: load up tau, recompile, and run. See the pdf Quickstart and User Guide in the $HPC_TAU_DOC directory. Man pages are available for commands (e.g. paraprof, tauf90, etc.), and the application program interface.

To compile your code with TAU, use one of the TAU compiler wrappers: - tau_f90.sh - tau_cc.sh - tau_cxx.sh

For constructing an instrumented code (instead of icc, ifort, etc.):

E.g. tau_f90.sh hello.f90, tau_cc.sh hello.c, etc.

These may also be used in make files, using macro definitions:

E.g. F90=tau_f90.sh, CC=tau_cc.sh, Cxx=tau_cxx.sh.

Tip

To enable callpath information collection set TAU_CALLPATH to 1.

To enable trace collection set the environmental variable TAU_TRACE to 1.

Citation

If you publish research that uses TAU you have to cite it as follows:

  • TAU: The TAU Parallel Performance System, by S. Shende and A. D. Malony. International Journal of High Performance Computing Applications, Volume 20 Number 2 Summer 2006. Pages 287-311. https://doi.org/10.1177/1094342006064482
  • PDT: A Tool Framework for Static and Dynamic Analysis of Object-Oriented Software with Templates, by K. A. Lindlan, J. Cuny, A. D. Malony, S. Shende, B. Mohr, R. Rivenburgh, C. Rasmussen. Proceedings of SC2000: High Performance Networking and Computing Conference, Dallas, November 2000. http://dx.doi.org/10.1109/SC.2000.10052
  • CCA: Performance Technology for Parallel and Distributed Component Software, by A. Malony, S. Shende, N. Trebon, J. Ray, R. Armstrong, C. Rasmussen, and M. Sottile. Concurrency and Computation: Practice and Experience, Vol. 17, Issue 2-4, pp. 117-141, John Wiley & Sons, Ltd., Feb - Apr, 2005. https://doi.org/10.1002/cpe.931

Categories

library, performance_analysis