-
Notifications
You must be signed in to change notification settings - Fork 5
OTF2WithAkypuera
otf22paje converts trace files registered in the Open Trace
Format 2 to the paje's
generic file format. Generally, OTF2 files keep traces from parallel
applications traced using
Score-P. We detail here how
to install Score-P (with OTF2 support) and how to configure Akypuera
to compile otf22paje. The otf22paje
tool is relatively mature, but only
states are converted. Contact us if you need more than that (or
implement youself and send us a patch, thanks).
Download the latest version of Score-P from the official repository and extract it. As of February 2017, the current version is 3.0. (this may change without notice, so always check the official Score-P download page for correct download links. We recommend using the version 3.0 since we know it works with the current implementation of otf22paje. Score-P is continuously evolving, newer versions might break the compilation of otf22paje. If that happens, let us know (or fix yourself and send us a patch, thanks, again).
Here we are installing Score-P in the /tmp/install/ directory (you can change it to suit your needs). We'll need this to configure Akypuera in next section. So, as usual, configure, compile and install Score-P as usual:
wget http://www.vi-hps.org/upload/packages/scorep/scorep-3.0.tar.gz
tar xfz scorep-3.0.tar.gz
cd scorep-3.0
./configure --prefix=/tmp/install/
make
make install
Here's how to configure, compile and install akypuera with OTF2 support:
$ git clone --recursive https://github.com/schnorr/akypuera.git
$ mkdir -p akypuera/build
$ cd akypuera/build
$ cmake -DOTF2=ON -DOTF2_PATH=/tmp/install/ ..
$ make
$ make install
You need to replace /tmp/install/ by the path where you installed Score-P in your system. Note that the cmake configuration built-in in Akypuera to find the Score-P 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 Score-P installation. You may fix that by yourself, by tweaking the FindOTF2.cmake file in the cmake directory within akypuera.
When you configure akypuera to compile otf22paje, 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 -DOTF2=ON -DOTF2_PATH=/tmp/install/ -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/include
/tmp/akypuera/include/rastro_config.h
/tmp/akypuera/include/rastro.h
/tmp/akypuera/bin
/tmp/akypuera/bin/otf22paje
/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 otf22paje that was installed.
Suppose you have a MPI application in the source file ring.c. To trace its execution with Score-P, you compile the source file like this:
$ scorep mpicc ring.c -o ring
The execution is done as usual, but before you have to set an environment variable to make sure events get traced:
$ export SCOREP_ENABLE_TRACING=true
$ mpirun -np 10 ./ring
Score-P will create a directory with everything related to the profiling and tracing of the MPI application. The directory name usually starts by scorep and a timestamp.
To obtain the corresponding Paje trace format of the OTF2 traces, run otf22paje like this:
$ otf22paje /tmp/scorep-20111212_1555_57197991368223/traces.otf2 > otf2.trace
The file otf2.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.
otf22paje accepts parameters (that you can check with --help). As of August 2012, here are the options:
$ ./otf22paje --help
Usage: otf22paje [OPTION...] ANCHORFILE
Converts an OTF2 archive to the Paje file format
-m, --only-mpi Only convert MPI states
-?, --help Give this help list
--usage Give a short usage message