Skip to main content
Jump to: navigation, search

PTP/designs/perf tools framework/TAU

The TAU project is a performance analysis system that makes use of PTP's performance tools framework. The TAU plugins for Eclipse and the PTP are in fairly rapid flux as the performance tools framework is still in its formative stages. However the TAU plugins are quite functional in conjunction with Eclipse 3.2 and PTP 1.1. They are suitable for collecting performance data from C, C++ and Fortran projects in Eclipse. Note that the TAU plugins do not yet function on Windows.

Install and Configure TAU

In order to use the TAU plugins you will also need the PDT (Program Database Toolkit) available here. After unzipping the PDT install it by running ./configure; make; make install By default it will install in its source directory. See the PDT's README file for more information.

The latest official release of TAU can be obtained here. TAU supports multiple performance data collection and analysis options. For more information on TAU's capabilities examine the included README and INSTALL documents and TAU's online documentation.

In order to be used with the TAU Eclipse plugins TAU's configure script must always be invoked with the -pdt=<pdt install location> option. Other common options include:

  • For instrumentation of projects using MPI: -mpilib=<path to mpi lib directory> -mpiinc=<path to mpi include directory>
  • For instrumentation of fortran projects: -fortran=<fortran compiler> See the documentation for a list of supported compilers.
  • For collection of hardware counter data: -papi=<location of PAPI package> -MULTIPLECOUNTERS
  • For collection of performance trace data: -TRACE

To configure and install TAU in its source directory enter ./configure <TAU configureation options>; make clean install. Note that it is possible to create multiple configurations of TAU. Each distinct configuration built will be available for selection from within the TAU Eclipse plugins. The installtau script will automatically generate several different configurations for TAU depending on the TAU configuration options it is provided. The tau_setup program provides a graphical interface for the configuration of TAU, including context sensitive help for TAU's configuration options.

Before using TAU with Eclipse it is reccomended that you test it with one or more of its included exmples. If you have configured it with MPI, the <tau directory>/examples/pdt_mpi/c example is a good start.

You may want to place TAU's bin directory in your system's PATH variable. The bin directory will be located in <tau install location>/<arch directory>/bin. The actual name of <arch directory> depends on your system's operating system and architecture. For example for Linux running on an x86 system the arch directory would be named i386_linux.

To enable TAU's profile database, perfdmf, for management of profile data within Eclipse you must run perfdmf_configure, located in the bin directory. The default options are suitable for most users.

Install the TAU Plugins

Before installing the TAU plugins be certain that your Eclipse installation is version 3.2.* with CDT 3.1.* installed. If you want to launch and profile parallel applications within Eclipse be certain that PTP 1.1.* is installed and configured correctly. If you want to analyze a Fortran application be certain that the latest (beta) version of Photran is installed.

To install the plugins navigate to <tau-directory>/tools/src/eclipse and execute the script with the location of your Eclipse directory as an argument. This will copy the plugins located in the <tau-directory>/tools/src/eclipse/plugins directory to your designated eclipse installation. It will also copy several jar files provided by TAU from their various locations in the TAU package to the org.eclipse.ptp.tau.jars plugin. These are primarily used for storage and analysis of profile files.

Use of the -clean flag is suggested the first time you launch Eclipse after installing the plugins. If you have put TAU's bin directory in your path the plugins should find your TAU installation automatically. Otherwise you can specify it manually by going to Window->Preferences->TAU or, if the PTP is installed, Window->Preferences->PTP->TAU. The plugins will prompt you for the location of a TAU installation when you attempt to profile a project if it has not been specified earlier.

Profile a Project with TAU and the PTP

After the TAU plugins have been installed you will see a new launch button next to the debug and run buttons. This profile button can be used to profile an existing project. Usage of the performance analysis system is quite similar to the debug and launch systems. You can launch a performance collection run as a local C/C++ (or Fortran) job or, if the PTP is installed, as a Parallel application. Note that unlike standard run or debug launching you must select a build configuration instead of a pre-existing binary file. This is because TAU will be rebuilding the project with instrumentation code, using your selected build configuration as a guideline.

The other significant change to the launch configuration system is the addition of an analysis tab. The analysis tab contains four sub-tabs whose purposes are as follows:

  • Analysis Options:

This tab allows you to select a makefile associated with a TAU configuration. Selecting an available checkbox will limit the list of available makefiles to those that include the selected option. Also, if you have configured TAU with PAPI and the -MULTIPLECOUNTERS flag, you will be able to use the Select PAPI Counters button. This launches a window where you may select specific PAPI hardware counters to be used when the project is launched. Your selections will automatically be placed in the launcher's environment variables.

  • Tau Compiler:

This tab contains options to be passed to the TAU compiler. See the TAU documentation and the context sensitive help associated with each option for more information.

  • Selective Instrumentation:

This tab allows you to specify a selective instrumentation file. You may select a selective instrumentation file created via a selective instrumentation interface provided by the Eclipse plugins, a pre-existing user defined selective instrumentation file, or no selective instrumentation at all. The 'automatic' selective instrumentation option will eventually allow the plugin to intelligently generate a selective instrumentation file based on criteria found in previously gathered profiles.

  • Data Collection:

This tab allow you to specify the TAU plugins' behavior with respect to program execution and data collection. By default the plugins will automatically launch an instrumented executable after it has been built and then delete the build configuration, but both of these behaviors may be prevented here. By default the plugins will remove generated profile data if it is possible to upload it to a database. This behavior can also be disabled. You can also request that the plugins attempt to upload generated profile data to the online TAUPortal.

After adjusting the launch configuration to suit your needs hitting the profile button will automatically rebuild, launch and collect performance data for the project.

Selective Instrumentation

You can generate a selective instrumentation file within Eclipse to fine tune the data collected by TAU. The plugins add a selective instrumentation submenu to the context menus of project, file and function elements of the source outline and project tree views. The selective instrumentation menu allows you to specify exclusion or inclusion of the selected element. You can also specify instrumentation of memory, io activity and outer-level loops for the selected element.

A selective instrumentation function added to the source editor allows you to specify either interval or atomic user-defined events. See the TAU documentation for more information on these selective instrumentation options.

Collect and View Data

Profile data produced by the performance analysis launch is uploaded to a local perfdmf database by default. The database view in Eclipse provides a tree of generated performance data sorted by project name, tau makefile type used and timestamp. TAU's profile analysis tool, paraprof, can be launched from this view. If perfdmf is not available, or if specified by the user, the profile data will be stored in a directory in the workspace, mirroring the hierarchy used by the database.

Other data types that can be produced by TAU, such as trace output, will be placed in your project's main directory. Additional options for manipulating such data and for accessing profile data produced outside of Eclipse are pending.

As an alternative to having Eclipse automatically manage your performance data you may have the plugins maintain the new instrumented build configuration in your workspace. You may launch this build's instrumented binary from within Eclipse or from your command line as you would with a normal executable.

Back to the top