tau  2.30
About: TAU (Tuning and Analysis Utilities) is a portable profiling and tracing toolkit for performance analysis of parallel programs written in Fortran, C++, C, Java and Python.
  Fossies Dox: tau-2.30.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

tau Documentation

Some Fossies usage hints in advance:

  1. To see the Doxygen generated documentation please click on one of the items in the steelblue colored "quick index" bar above or use the side panel at the left which displays a hierarchical tree-like index structure and is adjustable in width.
  2. If you want to search for something by keyword rather than browse for it you can use the client side search facility (using Javascript and DHTML) that provides live searching, i.e. the search results are presented and adapted as you type in the Search input field at the top right.
  3. Doxygen doesn't incorporate all member files but just a definable subset (basically the main project source code files that are written in a supported language). So to search and browse all member files you may visit the Fossies
  4. tau-2.30.tar.gz contents page and use the Fossies standard member browsing features (also with source code highlighting and additionally with optional code folding).
**			TAU Performance System(R)                          **
**			http://tau.uoregon.edu                             **
**    Copyright 1997-2021 				   	           **
**    Department of Computer and Information Science, University of Oregon **
**    Advanced Computing Laboratory, Los Alamos National Laboratory        **
**    Research Center Juelich, ZAM Germany			           **	
/* NOTE: PLEASE REFER TO tools/src/contrib/LICENSE* files for open *
 * source licenses of other packages that TAU uses internally.     *

Instructions on installing TAU can be found in the INSTALL file.   
JAVA users should see README.JAVA

Tuning and Analysis Utilities: TAU

TAU is a program and performance analysis tool framework being developed for
the DOE, ECP, and ASC program at University of Oregon. TAU provides a suite of 
static and dynamic tools that provide graphical user
interaction and interoperation to form an integrated analysis environment for
parallel Fortran, Python, C, and C++ applications.  In particular, a robust 
performance profiling facility availble in TAU has been 
applied extensively in the ACTS toolkit.  Also, recent advancements in TAU's 
code analysis capabilities have allowed new static tools to be developed, 
such as an automatic instrumentation tool.  These two features of the TAU framework are described below.

TAU Portable Profiling Package
The model that TAU uses to profile parallel, multi-threaded C++, C, Fortran,
UPC, Python, Chapel and Java programs maintains performance data for each thread, context,
and node in use by an application.  The profiling instrumentation needed to
implement the model captures data for functions, methods, basic blocks, and
statement execution at these levels.  The instrumentation is complicated,
however, by advanced features in the C++ language, such as templates and
namespaces. All C++ language features are supported in the TAU profiling
instrumentation, which is available through an API at the library or
application level.  The API also provides selection of profiling groups for
organizing and controlling instrumentation.  ACTS software layers have been
instrumented and support for thread profiling has been recently added.

From the profile data collected, TAU's profile analysis procedures can generate
a wealth of performance information for the user.  It can show the exclusive
and inclusive time spent in each function with nanosecond resolution.  For
templated entities, it shows the breakup of time spent for each instantiation.
Other data includes how many times each function was called, how many profiled
functions did each function invoke, and what the mean inclusive time per call
was.  Time information can also be displayed relative to nodes, contexts, and
threads.  Instead of time, hardware performance data can be shown.  Also,
user-level profiling is possible.

TAU supports GPUs from NVIDIA (CUDA/CUPTI), AMD (ROCm/Rocprofiler), and
Intel (OneAPI/Level Zero) where a binary may be launched with tau_exec with
no modification to the binary. It also supports OpenMP Tools Interface v5.0 
(OMPT), the Kokkos profiling interface, MPI Tools Interface (MPI_T) and pthread.

TAU's profile visualization tool, paraprof, provides graphical displays of all
the performance analysis results, in aggregate and per node/context/thread
form.  The user can quickly identify sources of performance bottlenecks in the
application using the graphical interface.  In addition, TAU can generate event
traces that can be displayed with the Vampir trace visualization tool.

TAU is being developed jointly by the University of Oregon, Los Alamos National
Laboratory, and Research Centre Jülich, ZAM, Germany.  It can be found at:


The work on extending TAU for OpenSHMEM and Kokkos regions was supported by the United States Department of Defense (DoD) and used resources of the Computational Research and Development Programs and the Oak Ridge Leadership Computing Facility (OLCF) at Oak Ridge National Laboratory.

We would like to thank the following sponsors for their support:
U.S. Department of Energy and DOE national laboratories [www.doe.gov]. 
U.S. Department of Defense (HPCMP PETTT) [www.defense.gov]. 
National Science Foundation [www.nsf.gov].
French Alternative Energies and Atomic Energy Commission (CEA) [www.cea.fr]. 
NASA [www.nasa.gov].
ParaTools, Inc. [www.paratools.com]