-
Notifications
You must be signed in to change notification settings - Fork 5
TAUWithAkypuera
tau2paje is a simple converter from TAU format
file to paje's generic file
format. The tau traces must have been generated with the execution of
a mpi compilation compiled with tau_compiler
(with mpi
support). Since such execution generates as many files as the number
of processes, these files must be merged using tau_merge
. After
that, execute tau2paje
passing the single trc file followed by the
single edf file. The corresponding paje trace file is printed on
stdout. Every MPI operation is transformed in a Paje state.
Download TAU from the official repository and extract it:
wget http://tau.uoregon.edu/tau.tgz
tar xfz tau.tgz
After extracing the compressed tarball, you might have a different directory created. As of February 2017, the latest TAU version is 2.26. So the directory created is tau-2.26. Let's configure it and install:
cd tau-2.26/
./configure -prefix=/tmp/tau/
make install
You might pass other parameters to install TAU depending on your needs. For example, you can use the following configure command to enable MPI trace (supposing you have an MPI installation in your computer):
./configure -mpiinc=/usr/lib/openmpi/include/ \
-mpilib=/usr/lib/openmpi/lib/ \
-TRACE \
-MPITRACE
Here's how to correctly configure, compile and install akypuera with TAU support:
$ git clone --recursive https://github.com/schnorr/akypuera.git
$ mkdir -p akypuera/build
$ cd akypuera/build
$ cmake -DTAU=ON -DTAU_PATH=/tmp/tau/ ..
$ make
$ make install
You need to replace /tmp/tau/ by the path where you installed TAU in your system. Note that the cmake configuration built-in in Akypuera to find the TAU installation may not work on your system. If that's the case, you can send us an e-mail showing the directory hierarchy of your TAU installation. You may fix that by yourself, by tweaking the FindTAU.cmake file in the cmake directory within akypuera.
When you configure akypuera to compile tau2paje, you may want to specify an installation directory for all the akypuera's binaries. You do that using cmake, like this (supposing you are inside the build directory within akypuera's cloned repository and you want to install everything in /tmp/akypuera/):
$ cmake -DTAU=ON -DTAU_PATH=/tmp/tau/ -DCMAKE_INSTALL_PREFIX=/tmp/akypuera/ ..
$ make
$ make install
The contents of /tmp/akypuera when aky is configured with this command are:
$ find /tmp/akypuera
/tmp/akypuera
/tmp/akypuera/include
/tmp/akypuera/include/rastro_config.h
/tmp/akypuera/include/rastro.h
/tmp/akypuera/bin
/tmp/akypuera/bin/tau2paje
/tmp/akypuera/bin/rastro_generate
/tmp/akypuera/bin/aky_converter
/tmp/akypuera/bin/rastro_timesync
/tmp/akypuera/bin/rastro_read
/tmp/akypuera/lib
/tmp/akypuera/lib/libaky.so
/tmp/akypuera/lib/librastro.so
Note the presence of tau2paje that was installed.
When a parallel application is traced with TAU, it creates one trace file for each process of the application. An execution with 3 processes creates:
tautrace.0.0.0.trc
tautrace.1.0.0.trc
tautrace.2.0.0.trc
events.0.edf
events.1.edf
events.2.edf
These files have to be merged in order to be used by tau2paje. To merge and convert them to paje, execute tau_merge and tau2paje this way:
$ tau_treemerge.pl
$ tau2paje tau.trc tau.edf > tau.trace
The file tau.trace will contain the converted events in the Paje
file format. You can use pj_dump
or a visualization tool to analyze
that trace, such as Paje.
tau2paje accepts several options (that you can check with --help). As of August 2012, here are the options:
$ ./tau2paje --help
Usage: tau2paje [OPTION...] <tau.trc> <tau.edf>
Converts _merged_ TAU trace files to the Paje file format
-b, --basic Avoid extended events (impoverished trace file)
-i, --ignore-errors Ignore errors
-l, --no-links Don't convert links
-m, --comment=COMMENT Comment is echoed to output
-n, --commentfile=FILE Comments (from file) echoed to output
-o, --only-mpi Only convert MPI states
-s, --no-states Don't convert states
-z, --normalize-mpi Try to normalize MPI state names
-?, --help Give this help list
--usage Give a short usage message