Skip to content
Lucas M. Schnorr edited this page Nov 22, 2017 · 3 revisions

Configuring Akypuera to compile tau2paje

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.

Installing TAU

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

Compile Akypuera+tau2paje

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.

Converting TAU traces to a Paje trace file

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.

Note

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