Transcript
Page 1: EZTrace - Inriaeztrace.gforge.inria.fr/papers/posters/2010_eztrace...Need for generic performance analysis tools A GENERIC FRAMEWORK FOR PERFORMANCE ANALYSIS Select your modules •

EZTrace•  High performance computing•  Parallel applications•  Hybrid programming models (MPI + OpenMP, …)

•  Complex hardware / software stack•  Various programming models (MPI, OpenMP, MPI+OpenMP, …)•  Understanding the performance of an application is tedious ➥ Need for generic performance analysis tools

A GENERIC FRAMEWORK FOR PERFORMANCE ANALYSIS

Select your modules•  MPI•  GNU OpenMP•  PThread •  Standard I/O (read, write, poll, …)•  Dynamic memory allocation (malloc, free, …)•  User-defined modules

Easy-to-use script language•  Define the functions to instrument•  Define their representation•  A source-to-source compiler creates the plugin code.

Run your program•  No need to modify the program•  No need to recompile/relink•  Low overhead instrumentation•  Functions calls are intercepted •  Raw events are recorded•  Generates one trace file per process

•  No need to modify / recompile your application•  Simple script language for describing instrumentation•  Low overhead instrumentation

•  CUDA / OpenCL plugins•  Support for hardware counters (PAPI)•  Enhanced analysis of traces

http://eztrace.gforge.inria.fr/

Name fooDESC ''Plugin for the foo library''

int foo(int arg1, int arg2)BEGIN RECORD_STATE(''Doing function foo'')END

void bar(int arg1)BEGIN EVENT(''Function bar called'')END

eztrace_convert -t [OTF|PAJE] trace.*

mpiexec -np x `eztrace -e ./prog`

eztrace_stats trace.*

Scheduling of tasks generated by PLASMA

P#0_T#2248308464

P#0_T#1126963520

P#0_T#1091815744

P#0_T#1083423040

P#0_T#1100208448

P#0_T#1109317952

P#0_T#1117710656

P#0_T#1135356224

P#0Program

min: 0 max: 1070.97

0 500 1000

Compute Statistics•  Generic statistics •  Min/max/average duration of each event •  Number of occurrence of each event•  Add semantic to events •  Bug detection (lock missmatch, …) •  Communication scheme

Visualize the traces•  Generation of the trace in OTF or Paje format•  Visualize the traces with ViTE, Vampir, ….

STEP 1

CONTEXT ISSUES

STEP 2

STEP 3A STEP 3B

CONCLUSION FUTUREWORK

trace file #1

...

trace file #x

Paje trace file

OTF trace file

MPI + OpenMPProgram

MPI

OpenMP

User-definedplug-in

Top Related