TAU - Tuning and Analysis Utilities -

Tuning and Analysis Utilities

TAU

PRL

Part I. Generating Performance Data

Table of Contents

1. Installation
1.1. Installing TAU
1.1.1. Available configuration options
1.1.2. tau_setup
1.1.3. installtau script
1.1.4. Examples:
1.1.5. upgradetau
1.1.6. tau_validate
1.2. Platforms Supported
1.3. Software Requirements
2. Tau Compiler
2.1. Introduction
2.2. Installing TAU Compiler
2.3. Using tau_compiler.sh
2.4. TAU scripted compilation
2.4.1. Usage
3. Profiling
3.1. Running the Application
3.2. Profiling each call to a function
3.3. Selectively Profiling an Application
3.3.1. Reducing Performance Overhead with TAU_THROTTLE
3.3.2. Custom Profiling
3.4. Running an application using DynInstAPI
3.5. Dynamically Instrumenting MPI applications
3.6. Using Multiple Hardware Counters for Measurement
3.7. Using Hardware Performance Counters
3.8. Profiling with PerfLib
3.9. Running a Python application with TAU
3.10. pprof
3.11. Running a JAVA application with TAU
4. Eclipse Tau Java System
4.1. Installation
4.2. Instrumentation
4.3. Uninstrumentation
4.4. Running Java with TAU
4.5. Options
5. Eclipse PTP / CDT plug-in System
5.1. Installation
5.2. Creating a Tau Launch Configuration
5.3. Selective Instrumentation
5.4. Launching a Program and Collecting Data
6. Tracing
6.1. Generating Event Traces
6.2. TAU Trace Format Reader Library
6.2.1. Tau Reader Usage
6.2.2. Callback API
6.2.3. TauReader API
7. Tools
tau_compiler.sh - Instrumenting source files.
vtf2profile - Generate a TAU profile set from a vampir trace file
tau2vtf - convert TAU tracefiles to vampir tracefiles
tau2profile - convert TAU tracefiles to TAU profile files
tau2elg - convert TAU tracefiles to Epilog tracefiles
tau2slog2 - convert TAU tracefiles to SLOG2 tracefiles
tau2otf - convert TAU tracefiles to OTF tracefiles for Vampir/VNG
perf2tau - converts PerfLib profiles to TAU profile files
tau_merge - combine multiple node and or thread TAU tracefiles into a merged tracefile
tau_treemerge.pl - combine multiple node and or thread TAU tracefiles into a merged tracefile
tau_convert - convert TAU tracefiles into various alternative trace formats
tau_reduce - generates selective instrumentation rules based on profile data
tau_ompcheck - Completes uncompleted do/for/parallel omp directives
tau_poe - Instruments a MPI application while it is being executed with poe.
tau_validate - Validates a TAU installation by performing various tests on each TAU stub Makefile
tauex - Allows you to choose a tau/papi configuration at runtime.
tau_timecorrect - Corrects and reorders the records of tau trace files.
tau_throttle.sh - This tool generates a selective instrumentation file (called throttle.tau) from a program output that has "Disabling" messages.
tau_portal.py - This tool is design to interact with the TAU web portal (http://tau.nic.uoregon.edu). There are command for upload or download packed profile files form the TAU portal.
perfdmf_configure - This tool is design to interact with the TAU web portal (http://tau.nic.uoregon.edu). There are command for upload or download packed profile files form the TAU portal.
perfdmf_createapp - Command line tool to create a application in the perfdmf database.
perfdmf_createexp - Command line tool to create a experiment in the perfdmf database.
perfdmf_loadtrial - Command line tool to loada a trial into the perfdmf database.
perfexplorer - Launches TAU's Performance Data Mining Analyzer.
perfexplorer_configure - Links perfexplorer to your perfdmf database.
taucc - C compiler wrapper for TAU
paraprof - Launches TAU's Java-based performance data viewer.
pprof - Quickly diplays profile data.
tau_instrumentor - automaticly instruments a source basied on information provided by pdt.
vtfconverter -
tau_setup - Launches GUI interface to configure TAU.
tau_wrap - Instruments an external library with TAU without needing to recompile
tau_pin - Instruments application at running using Intel's PIN library
8. TAU Memory Profiling Tutorial
8.1. TAU's memory API options
8.2. Evaluating Memory Utilization
8.2.1. TAU_TRACK_MEMORY
8.2.2. TAU_TRACK_MEMORY_HERE
8.2.3. -PROFILEMEMORY
8.3. Evaluating Memory Headroom
8.3.1. TAU_TRACK_MEMORY_HEADROOM()
8.3.2. TAU_TRACK_MEMORY_HEADROOM_HERE()
8.3.3. -PROFILEHEADROOM
8.4. DetectingMemoryLeaks
8.5. Memory Tracking In Fortran