1 / 35

Projections - A Step by Step Tutorial

Projections - A Step by Step Tutorial. By Chee Wai Lee For the 2004 Charm++ Workshop. Outline. Introduction to Projections. Basic features. Advanced features. Basic performance analysis techniques. Soon-to-be ready features. An Introduction to Projections.

kenyon
Télécharger la présentation

Projections - A Step by Step Tutorial

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 ModeVisualization

  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 <directory> • Projections mode only: • +logsize <# entries> • +gz-trace • Summary mode only: • +bincount <# of intervals> • +binsize <interval time quanta (us)>

  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(<func call code>,“user function description string”);

  35. Basic Performance AnalysisTechniques - A case study

More Related