Patrick Carribault, Fran├žois Trahay

Fall 2016


Several tutorials on EZTrace are available here.

Another documentation on EZTrace can be found here.

Selecting modules

  • eztrace_avail - print the available modules
  • export EZTRACE_TRACE="<module1> <module2>" - select module1 and module2

Generating a trace

  • eztrace <application> <param1> <param2> - run <application> with 2 parameters
    • Each process generates a binary trace file named <USER>_eztrace_log_rank_<X>
  • eztrace_cc gcc [...] -fopenmp - compile an OpenMP application so that EZTrace can analyze it
  • eztrace_convert <USER>_eztrace_log_rank_* - create a trace for ViTE
    • Generates a trace file named eztrace_output.trace
  • eztrace_stats <USER>_eztrace_log_rank_* - extract statistics from a set of binary traces

Visualizing a trace

  • vite eztrace_output.trace - load eztrace_output.trace in ViTE

Tuning EZTrace

  • export EZTRACE_TRACE_DIR=<path> - select the directory in which traces are written
  • export EZTRACE_BUFFER_SIZE=<size> - change the size of EZTrace buffers
  • export EZTRACE_FLUSH=1 - allow EZTrace to flush the buffer to disk when it is full (this may slow down the application)
  • export EZTRACE_MPI_DUMP_MESSAGES=1 - tell eztrace_stats to create a file that contains the list of all MPI messages that were exchanged