The TAU Portable Profiling Package

Compiling the TAU Profiling Library

TAU Profiling Package can be compiled for the default mode (time profiling PROFILE) or for use with SGI Hardware Counters (PROFILECOUNTERS). It can also be compiled to produce a complete trace of times for each function invocation (PROFILECALLS). It can be used to generate statistics such as the standard deviation of the exclusive time spent in each function (PROFILESTATS). To compile the library for one or more of the above options we can compile the library and the profiled application with the following options.

Option Compilation Flags
Default -DPROFILING_ON
SGI Hardware Counters (PROFILECOUNTERS) -DPROFILING_ON -DSGI_HW_COUNTERS
SGI Fast Timers (PROFILE) -DPROFILING_ON -DSGI_TIMERS
Trace each invocation (PROFILECALLS) -DPROFILING_ON -DPROFILE_CALLS
Standard Deviation (PROFILESTATS) -DPROFILING_ON -DPROFILE_STATS
Tulip Portable Timers -DPROFILING_ON -DTULIP_TIMERS
No Runtime Type Information -DPROFILING_ON -DNO_RTTI

It is important to note that these options can be combined- so if we wanted to use standard deviation statistics option with hardware counters the flags would be -DPROFILING_ON -DPROFILE_STATS -DSGI_HW_COUNTERS. The options in parenthesis above (e.g., PROFILECOUNTERS) can be used while configuring TAU. A - is used as a prefix in TAU for specifying these options. For e.g.,
	% ./configure -PROFILESTATS -PROFILECOUNTERS
	% make install
Similarly, POOMA users can specify the options during configuration using conf. For e.g.,
	% conf O2K64 MPI KAI PROFILESTATS PROFILECOUNTERS
The configuration stage modifies the relevant Makefiles and introduces the appropriate compilation flags in the profiling options. These could be added manually too provided care is taken to ensure that the application to be profiled is compiled with the same set of flags as the profiling library.