TAU - Tuning and Analysis Utilities

Discussion of chess software programming and technical issues.

Moderator: Ras

jdart
Posts: 4428
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

TAU - Tuning and Analysis Utilities

Post by jdart »

I have no experience with this (at least not yet) but it looks interesting:

http://www.cs.uoregon.edu/research/tau/home.php

Anyone used this?

--Jon
jdart
Posts: 4428
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: TAU - Tuning and Analysis Utilities

Post by jdart »

FYI I have been experimenting with TAU recently. I have also installed PAPI (http://icl.cs.utk.edu/papi/) which gives access to hardware performance counters on the chips.

I got TAU to put out basic profiling information. The documentation is pretty clear, although I think it is a bit of a bad design that it relies on environment variables to control some things and program options to control other things, plus some config is in files. Some of the docs and tutorials available on this assume you are using MPI, which I'm not.

I am using their compile-time monitoring that is enabled by using a compiler wrapper. Basically I set:

export CC=tau_cxx.sh

and make the program as usual (with a bunch of environment variables set that the compiler wrapper needs).

Then just run the program and it will generate profiling output.

Finally I used "paraprof" (a Java app they supply) to view the output.

Their compiler wrapper failed to parse some of my C++ code, but there was an easy workaround.

I have tried the hardware monitoring with PAPI too and that works, and has been helpful finding some bottlenecks.

Other similar tools are VampirTrace (http://tu-dresden.de/die_tu_dresden/zen ... ampirtrace) and HPCToolkit (http://hpctoolkit.org/).

I also tried AMD's CodeXL utility, which has a nice GUI, but I have had a lot of trouble with it. It doesn't seem to work with AMD's instruction-based sampling, even though I have set the kernel flag to let unprivileged users run this. I did have an earlier version of this working on an earlier Linux version, but right now I am frustrated with it.

(I have also used VTune on Intel boxes, but my big server box is AMD and I am particularly interested in doing some testing in a NUMA configuration).

--Jon
jdart
Posts: 4428
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: TAU - Tuning and Analysis Utilities

Post by jdart »

Couple other notes:

If your program is multi-threaded, be sure to configure TAU with -pthread, otherwise it will assume your program is single-threaded.

and also add -MULTIPLECOUNTERS to the configure option if you want to use hardware counters.

--Jon