Skip to content

WMTrace

OliverPerks edited this page Oct 19, 2012 · 2 revisions

WMTrace

Tracing with WMTrace

Attaching WMTrace to an application is very simple, you simply export the library in the LD_PRELOAD envionment variable, then run the code as normal:

mpirun -np <x> ./<application> <application arguments>

The library will only attach on MPI_Init, so additional codes will not be affected by it's presence, but to limit it to only the desired application then include it on the MPI run command.

mpirun -np <x> -x LD_PRELOAD=<path to lib folder>/WMTrace.so ./<application> <application arguments>

Runtime Configurations

WMTrace has a number of different operating modes. These are specified in a configuration file at runtime. The library reads the hidden file .WMToolsConfig from either the current working directory, or if not found then the users home directory (allowing for both global and local configurations).

This file can contain the following options (each specified on a new line):

  • --WMTOOLSCOMPLEX

    This enables call stack tracing, which can incur a significant performance hit in some circumstances.

  • --WMTOOLSPOSTPROCESS

    This option enables automated post processing at the end of execution. This uses all the available processes of the job to post process all of the trace files, to provide instantanious memory consumption HWM data.

  • --WMTOOLSPOSTPROCESSGRAPH

    This option enables automated post processing at the end of execution, in addition generate graph scripts for each trace (again done in parallel).

  • --WMTOOLSPOSTPROCESSFUNCTIONS

    This option enables automated post processing at the end of execution, in addition generate function breakdown lists for each trace (again done in parallel).

Output

WMTrace outputs a trace file per process in a uniquely named folder per run.

WMTrace0001

File names have the extension .z to indicate they are zlib compressed files.

WMTrace0001/trace-0.z

Graph files have the extension .graph, and are bash scripts which generate gnuplot graphs of memory consumption, when executed.

WMTrace0001/trace-0.graph

Functions files have the extension .functions, and are text files with ordered memory consumption lists grouped by function site, and ordered my size.

WMTrace0001/trace-0.functions

Clone this wiki locally