[Tau-announcements] TAU v2.16 released
sameer at cs.uoregon.edu
Thu Nov 16 20:01:06 PST 2006
We are pleased to announce the release of TAU v2.16.
It has the following new features:
1. Eclipse PTP integration
This release features a graphical instrumentor in Eclipse PTP
environment. An analysis wizard allows you to choose measurement options
such as callpath, papi, trace, perflib etc. Clicking the profile button in
the IDE invokes the tau compiler scripts. The performance database is
shown within the eclipse environment and new timestamped experiments are
automatically registered in the PerfDMF database. Clicking on a routine in
paraprof brings up the source code within the Eclipse editor.
2. Paraprof Enhancements
Paraprof features a new source browser that highlights code regions such
as loops or functions. Source code correlation works both within and
outside the PTP eclipse environment. The 3D display now features a stereo
visualization option when a stereo display is connected. Better
anti-aliasing features are also included in paraprof. Paraprof allows the
users to load multiple ppk files (generated using paraprof -pack
<file.ppk>) from the commandline. The comparison window is enhanced to
accommodate multiple derived metrics. Right click on a node and choose the
"add to the comparison window" option to invoke this feature.
3. PAPI, Kojak, DyninstAPI updates
This release supports PAPI 3.5.0, Kojak 2.2, and DyninstAPI 5.0.1 (and
earlier versions). With this release, binary re-writing works with
DyninstAPI using the Intel Fortran and C/C++ compilers under x86/Linux.
PGI C/C++ compilers are supported, and we hope to get PGI Fortran support
working with the next DyinstAPI release. IA-64 is not supported in this
release for binary rewriting.
4. NEW/DELETE C++ memory tracking APIs
TAU introduces a C++ API for tracking new and deletes for memory leaks.
This API may be used to track memory leaks. The source location (file,
line) and the context (precise callpath that led to the leak) is shown as
an atomic event with the extent of memory leaks (min/max/std.dev/samples)
in profiles and traces. This extends our previous work on memory leak
detection in C using malloc/free wrappers invoked using the
-optDetectMemoryLeaks option in TAU_COMPILER (see tau_compiler.sh -help).
5. New tool: tau_timecorrect
When clocks drift on a cluster, sometimes traces do not show synchronized
clocks. Tau_timecorrect implements a time correction algorithm (thanks to
Ralf Rabenseifner and the Kojak project) that corrects network clock
drifts in traces. A merged trace is re-written to correct the timestamps.
6. New tool: tau_validate and other configuration tools
To ensure that a TAU configuration is correct, we have developed the
tau_validate tool. Pointing it to a TAU <arch>/lib directory allows us to
examine each stub makefile, compile it using a C/C++/Fortran compiler (and
linker) and ensure that the target binary builds. It emits a matrix in
HTML format that shows which tests passed/failed/were not applicable. You
can click on the entries and see the error encountered during
building/running. This tool can also be used to test previous
installations of TAU. Upgradetau can be used to point to an earlier
installation and it re-builds TAU using the previous configuration
parameters. Tau_setup has been enhanced to propagate strings with spaces
(-useropt='-O3 -g') to installtau and configure scripts in TAU.
7. New tool: tau_throttle.sh
When throttling is enabled (with the TAU_THROTTLE environment variable),
TAU emits a series of messages regarding which routines are lightweight
and have been throttled at runtime. This tau_throttle.sh script parses the
program output and produces a selective instrumentation file with an
exclude list comprising the list of routines throttled. This script can be
subsequently fed to the tau_instrumentor (-optTauSelectFile in
TAU_OPTIONS) and the program may be re-instrumented to eliminate the
instrumentation in the lightweight routines the next time around.
8. New platforms
TAU supports Catamount lightweight timers on the Cray XT3 compute node
kernel using the -CRAYTIMERS option. These timers apply to Cray X1E and
Cray XT3 now and may be used in a single metric or a -MULTIPLECOUNTERS
configuration mode with multiple metrics. Support for Intel Woodcrest CPUs
is also available and tested with PAPI using both static and shared
The kernel extensions of TAU available separately as the KTAU package
(Linux kernel patch included) now support the AMD Opteron platforms.
Support for forking has been enhanced in KTAU.
10. New tool: perf2tau and Perflib integration
Jeff Brown's Perflib package from Los Alamos National Laboratory is now
supported in TAU. TAU supports -perflib/-perfinc/-perflibrary
configuration options that produce a stub makefile with a -perf in its
name. When this package is selected, TAU's tau_instrumentor emits perflib
calls in the source code. Perflib is a measurement library that builds a
program callgraph in memory and supports metrics from PAPI and memory
evaluation metrics (page faults, rss). TAU links in the perflib
measurement library and produces perflib data. We have a new tool perf2tau
that writes TAU format data from the perflib dataset for use with pprof
and paraprof. We also provide a perflib option in TAU's Eclipse PTP
plugin. We have also enhanced support for instrumenting pure Fortran
routines in tau_instrumentor.
For further information, including updated user's guides, and movies on
TAU, please visit our website at:
Please let us know if we can assist you with TAU in any way.
(for tau-team at cs.uoregon.edu)
More information about the Tau-announcements