-
Notifications
You must be signed in to change notification settings - Fork 0
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>
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).
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