[Tau-announcements] TAU v2.20.2 released

Sameer Shende sameer at cs.uoregon.edu
Fri May 13 16:32:02 PDT 2011

	We are pleased to announce the release of TAU v2.20.2:


The following new features have been added since TAU 2.19.1 released on March 22, 2011.

1. Improved support for profiling GPGPU applications

In our last release, we introduced support for tracking events occurring on GPGPUs in a separate thread of execution. This release enhances that support and uses the CUPTI interface from NVIDIA available in CUDA 4.0 for tracking events on the GPGPU. CUPTI counter interface support for tracking GPU metrics is also supported. See the README.gpu file for more information. This release also supports tracking of GPGPU events in a separate thread of execution for OpenCL programs. Earlier releases supported only host based events for OpenCL programs. To enable these measurements simply configure TAU with -cuda=<dir>  and use:
% tau_exec -cuda -T serial ./a.out
% tau_exec -opencl -T serial ./a.out

	while running an un-instrumented or instrumented application. TAU will intercept the interactions between the host and the device and generate performance information at the Cuda driver or the OpenCL library level. We would like to thank the NVIDIA Corporation for their support of the TAU project and the assistance provided.

2. Linker Based Instrumentation
TAU can now generate wrapper libraries and use the linker to intercept a given call. This is useful for instrumenting libraries where the source code is not avaialble for instrumentation but the interface (in C header files) is. With this release, we introduce a new tool (tau_gen_wrapper) that takes a header file and the library and optionally a selective instrumentation file in the TAU format. It then creates a wrapper library and a link_options.tau file that may be passed to the compiler scripts through the -optTauWrapFile=<file> option specified in the TAU_OPTIONS environment variable. This instructs the linker to intercept the calls specified in the wrapped library. To wrap the HDF5 library, for instance, (see examples/iowrappers/hdf5_wrap/README):

% tau_gen_wrapper hdf5.h /usr/lib/libhdf5.a -f select.tau
% setenv TAU_OPTIONS -optTauWrapFile=headers/hdf5_wrapper/link_options.tau
% make CC=tau_cc.sh CXX=tau_cxx.sh F90=tau_f90.sh

This wrapper generator may be used for generating wrapper libraries using runtime preloading (-r) or redirection of header files (-d) as well. The default option is (-w) for linker-based instrumentation. Preloading based instrumentation does not work with static executables (that are commonly used on IBM BG/P or Cray XE6). This linker-based instrumentation helps instrument system libraries using this new approach.

3. Tracking POSIX IO calls using linker-based instrumentation

TAU now supports tracking of POSIX IO calls in static and dynamic executables using linker-based instrumentation. To use this feature, you may configure TAU with -iowrappers configuration option and specify the use of -optTrackIO in the TAU_OPTIONS environment variable. This enables the linker to intercept POSIX IO calls and track bandwidth, volume and other timing information for the POSIX calls.
4. Tracking IO parameters

We have introduced a new environment variable (TAU_TRACK_IO_PARAMS) setting which enables tracking arguments that flow through the POSIX IO wrapper described above. These arguments are triggered as atomic events and their values are recorded in profiles and traces. It requires the use of the -optTrackIO option in the TAU_OPTIONS environment variable.

% ./a.out

5. New platforms

We now support the NAG v5.3 Fortran 2003 compiler in TAU. To use it, please configure TAU with the -fortran=nag (-fortran=nagware for compatiblity). TAU supports compiler based instrumentation with this compiler as well as PDT based source instrumentation.

6. Perfexplorer

We have improved the speed of loading trials and computing derived metrics in PerfExplorer. There is a new charting option in custom charts for tracking a single event in multiple experiments.

7. ParaProf

ParaProf's 3D window has a scrollbar and we have improved the spacing in this window. The startup scripts have been fixed for use of larger profiles on the Mac.
8. Eclipse Plugin

We have updated the TAU plugin in Eclipse to support Score-P based instrumentation using the tool.xml workflow file.

9. Bug fixes
We have fixed the following bugs in this release:
a. PAPI initialization bug with C++ static contructors on Cray XE6 using the clone system call.
b. tau_run binary rewriter's support for getting MPI rank information from the executable.
c. collating performance data at the end of the execution.
d. downloading binutils for -bfd=download from within a firewall allows the user to download this separately and point to it in a subsequent configure step if the system is not directly connected to the Internet.
e. Improved PGI and Cray CCE compiler support for the Cray XE6 platform.

We have also updated the documentation on the TAU webpage.

10. Updated ISO image


   We would like to thank our partners in the POINT, VI-HPS, and ParaTools, Inc. HPC Linux project for their contributions to this iso image.

   It features the new version of TAU, DyninstAPI 7.0.1 [www.dyninst.org]
and updated licenses.

   Please let us know if we may assist you with TAU in any way.
   - Sameer
  (for tau-team@ cs.uoregon.edu)

More information about the Tau-announcements mailing list