Privacy & Legal Notice

TAU


Tool Description

TAU provides profiling and tracing performance analysis capabilities for C, C++, Fortran, MPI, OpenMP, and pthread applications. It can report wall-clock time or hardware performance data. Data collection instrumentation can be inserted by hand using the TAU API or with an automatic instrumentor.

TAU Features

Installations

All TAU installations should be at version 2.16.5.

Documentation

Examples

Example applications can be found in /usr/local/tools/tau/examples. However, the Makefile will need to be modified to include the appropriate TAU Makefile in /usr/local/tools/tau/lib.

Quick Start

Users can use TAU to profile MPI applications with unmodified executables by using the TAU run-time instrumentation scripts.

Performance
Data
Linux Example Command AIX Example Command
MPI Profiling srun -n 4 tau_load.sh ./a.out tau_poe ./a.out -procs 4
MPI Tracing srun -n 4 tau_load.sh -XrunTAUsh-icpc-mpi-pdt-trace.so ./a.out tau_poe -XrunTAUsh-mpi-pdt-trace ./a.out -procs 4

MPI Profiling output can be viewed with the TAU pprof command.

The MPI Tracing commands above will generate TAU trace files. Please see the instructions below for working with TAU and OTF trace files.

Generating and Viewing OpenTraceFormat Tracefiles

LLNL has worked with Paratools, the University of Oregon Performance Research Lab, and the Center for High Performance Computing of Dresden University of Technology to provide an open trace format that is highly scalable. The result of this effort, OpenTraceFormat (OTF), can be used on LLNL BG/L platforms to view very large tracefiles. These tracefiles can be analyzed with new trace visualizers Vampir and Vampir-NG from Dresden that support OTF.

Generating OTF tracefiles can be done in the following manner:

  1. Build your application with a TAU Makefile configured for tracing, such as Makefile.tau-mpi-pdt-trace.
  2. Run your application to generate trace files in TAU trace format.
  3. Merge TAU traces with the tau_merge utility, e.g.,
    tau_merge -e event* tautrace* [application].trc
  4. Convert the merged trace file to OTF format, e.g.,
    tau2otf [application].trc tau.edf [application].otf -n 4
    would generate an [application].otf trace file and several related files. The -n option specifies the number of output streams. A larger number of streams results in more files, which allows the Vampir-NG backend to efficiently run with more processes.

Viewing OTF tracefiles can be done in the following manner:

  1. View small to medium sized OTF tracefiles on BG/L or x86-Linux systems with vampir-otf [otf tracefile].
  2. To view large OTF tracefiles on x86-Linux systems:
    1. Start the VNG server: srun -n [procs] -p[interactive pool] vngd-otf
    2. Start the VNG GUI: vng-otf
    3. Connect the GUI to the server "File->Connect to Server..." and enter the server specified by the vngd job.
    4. You should then be able to browse for and open your OTF trace file.

High Performance Computing at LLNL   Lawrence Livermore National Laboratory