Presentation is loading. Please wait.

Presentation is loading. Please wait.

Projections - A Step by Step Tutorial By Chee Wai Lee For the 2004 Charm++ Workshop.

Similar presentations


Presentation on theme: "Projections - A Step by Step Tutorial By Chee Wai Lee For the 2004 Charm++ Workshop."— Presentation transcript:

1 Projections - A Step by Step Tutorial By Chee Wai Lee For the 2004 Charm++ Workshop

2 Outline  Introduction to Projections.  Basic features.  Advanced features.  Basic performance analysis techniques.  Soon-to-be ready features.

3 An Introduction to Projections  Performance Analysis tool for Charm++ based applications.  Automatic trace instrumentation.  Post-mortem visualization.  Multiple advanced features that support:  Data volume control  Generation of additional user data.

4 Basic Features (outline)  Changes to code (none!)  Link time decisions.  Run time decisions (none!)  Basic Visualization.

5 Coding, Linking & Running  No changes to Charm++ program required!  Choose and link an appropriate trace module.  Tracemode “projections”  Tracemode “summary”  No changes required to the way application is run.  Example program - Jacobi2D

6 Tracemode Projections  Each Charm++ event appears as a line of text in log file.  At link time, specify “-tracemode projections”  Supported by all views in the visualization tool.

7 Tracemode summary  Contains:  Processor utilization information over entire run.  Total execution time attributed to each Charm++ entry method.  Number of times each entry method is called.  At link time, specify: “-tracemode summary”  Limited visualization support.

8 Coding, Linking & Running Example - Jacobi2D

9 Basic Visualization

10 Visualization - outline.  Summary mode  Summary graph screen.  Overview.  Usage Profile.  Miscellaneous  Dialog box features.

11 Visualization - outline (cont)  Projections Log mode  Overview and Usage Profile as before.  Flexible Graph view.  Histograms.  Time Profile.  Timeline.  Animations.  Miscellaneous features.

12 Summary Mode Visualization

13 The Summary View Provides a view of the overall utilization of the application. Very quick to load.

14 Overview Shows utitlization as a color scale split by processor over time. Useful for identifying the processor responsible for bad behavior.

15 Usage Profile Shows the contribution of utilization by each entry point. Useful for identifying badly behaved entry points.

16 Dialog boxes Flexible processor specification string. E.g. “0,2-5,45-127:5” Ability to save up to 5 commonly used time ranges

17 Projections Log Mode Visualization

18 Overview & Usage Profile  These views are similar to the ones for summary-based visualization.  They may differ somewhat because additional information (eg. Idle time) becomes available in full log traces.  They also take longer to load.

19 Graph View Features: Selectively view Entry points. Convenient means to switch to between axes data types.

20 Histograms - time based Divide the time spent by entry methods into various bin sizes and count them. Useful for determining if there’s a grainsize problem.

21 Histograms - communication Frequency counts for communication- based properties.

22 Time Profiles Shows the spread of Charm++ entry methods over time.

23 Timeline The most detailed view in Projections. Useful for understanding critical path issues or unusual entry point behaviors at specific times.

24 Animations

25 Miscellaneous Features - Color Selection Colors are automatically supplied by default. We allow users to select their own colors and save them. These colors can then be restored the next time Projections loads.

26 Advanced Features

27 Advanced Features - outline  User APIs  Runtime tracing options  Visualization support for features.

28 User APIs  Controlling trace generation  void traceBegin()  void traceEnd()  Tracing User Events  int traceRegisterUserEvent(char *, int)  void traceUserEvent(char *)  void traceUserBracketEvent(int, double, double)  double CmiWallTimer()

29 Runtime options  +traceoff  +traceroot  Projections mode only:  +logsize  +gz-trace  Summary mode only:  +bincount  +binsize

30 Visualization of user events

31 User Events (cont) Detailed information about User Events can be acquired via a table.

32 Monitoring messages Right-clicking on an entry method in Timeline causes a line to be drawn from the corresponding send event.

33 Soon-to-be ready features  Instrumenting function calls in AMPI.  Flexible Performance counter data acquisition.

34 Instrumenting AMPI function calls.  REGISTER_FUNCTION(“user function description string”);  TRACE_FUNC(, “user function description string”);

35 Basic Performance Analysis Techniques - A case study


Download ppt "Projections - A Step by Step Tutorial By Chee Wai Lee For the 2004 Charm++ Workshop."

Similar presentations


Ads by Google