This section lists independent projects that generate trace files in the Pajé format. You can use them to trace your application and visualize with Pajé.
Akypuera is a tracing library for MPI applications based on libRastro to provide a low memory footprint and low intrusion. It is released under the GPLv3 license library, simplified as aky (linked with -laky to MPI apps). The binary trace files are converted to Pajé file format using the tool called aky_converter. Akypuera is a word from the Tupi language that means trace.
tau2paje is a simple converter from the TAU format file to Paje’s generic file format. The input 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 merged .trc and .edf files. The corresponding Paje trace file is printed on stdout. Every MPI operation are transformed in a Pajé state.
tau2paje is maintained with Akypuera.
tau2paje converter
Make
sure you enable TAU in Akypuera’s Cmake configuration and provide a valid
TAU_PATH so the tool can be linked against the TAU reading library.
otf2paje converts OTF2 archives (created by the Score-P environment) to the Pajé’s generic file format. It focus on MPI function calls, converting them to Pajé states. You need to provide the OTF2 archive file to otf2paje.
otf2paje is also maintained with Akypuera.
otf2paje converter
Make
sure you enable OTF2 in Akypuera’s Cmake configuration and provide a
valid OTF2_PATH so the tool can be linked against the OTF2 and
ScoreP libraries.
SimGrid is a toolkit that provides core functionalities for the simulation of distributed applications in heterogeneous distributed environments. The library is instrumented (if TRACING is enable with Cmake) to generate Pajé trace files. Run your simulator with –help-tracing to see the several tracing options of your simulation.
EZTrace is a tool that aims at generating execution traces of parallel applications. It supports major HPC programming models: it can record calls to MPI functions, OpenMP directives, pthread synchronization primitives. Since EZTrace relies on plugins, you can define your own plugin in order to instrument precisely your application/library. Moreover, EZTrace dynamically intercept functions call, so that you don’t need to recompile/relink your application: just run it with EZTrace, and a trace is created!
libRastro is a library used to generate traces in applications. These traces are composed of /events/ with some (optional) parameters. To extract some meaning from these traces, they must be converted to higher level elements like states, events, processes, machines, messages, etc. Rastro2Pajé provides a simple way of integrating libRastro, your application and Pajé.
Poti is a C (with C++ support) library to generate paje traces. You need to understand the terminology of the Paje file format to use it. The library is managed by Cmake and contains a small example that can help you get started. You can use Poti to implement your own converter towards the Paje format without having to get into the details of the trace file, such as event declaration. More information on its github:
JRastro is a tracing library for Java applications based on the JVMTI interface. The library is released under GPLv3, and requires librastro to provide a low memory footprint and low intrusion. The binary trace files are converted to the Paje file format using the tool called jrastro_converter.