Skip to main content
Jump to: navigation, search

Difference between revisions of "PTP/designs/perf"

< PTP‎ | designs
Line 1: Line 1:
== Case Study ==
+
== Case Study (Workload Characterization)==
 
# Select a parallel project
 
# Select a parallel project
 
## Specify application metadata (for performance data management)
 
## Specify application metadata (for performance data management)
Line 19: Line 19:
 
## Create HTML report
 
## Create HTML report
  
== Case Study #2 ==
+
== Case Study #2 (Memory leak detection) ==
 
# Select a parallel project
 
# Select a parallel project
 
## Specify application metadata (for performance data management)
 
## Specify application metadata (for performance data management)
Line 52: Line 52:
 
## Run the batch script
 
## Run the batch script
 
# Look at your data, run PerfExplorer
 
# Look at your data, run PerfExplorer
 +
 +
 +
== Case Study #4 (Routine and outer loop profiling) ==
 +
# Invoke the analysis wizard
 +
# Select execution time analysis/routine level
 +
# Optionally select hardware counters for monitoring
 +
# Run
 +
# Analyze
 +
## View data in analysis tool
 +
# Choose routines for outer loop profiling
 +
#* Optionally select specific loops for profiling
 +
# Select hardware counters for monitoring
 +
# Run
 +
# Analyze
 +
## View new data in analysis tool
 +
## View relevant source code regions
 +
 +
== Case Study #5 (Communication analysis) ==
 +
# Invoke the analysis wizard
 +
# Select 'execution/communication time analysis'
 +
# Run
 +
## Generate routine level callpath profile
 +
## Automated tool analyzes profile output and generates selective instrumentation file
 +
## Automated re-run using tracing (in format suitable for automated trace analysis)
 +
# Analyze
 +
## Automatically perform trace analysis to identify communication bottlenecks
 +
## View bottleneck analysis result
 +
## Optionally view trace in graphical trace viewer (after conversion if necessary)
  
  

Revision as of 15:14, 12 September 2006

Case Study (Workload Characterization)

  1. Select a parallel project
    1. Specify application metadata (for performance data management)
  2. Open analysis creation wizard
    1. Select workload characterization from the list of analysis tasks
      1. Select performance measurement/monitoring tool
      2. Select hardware counter set
  3. Build
    1. Create make target (for standard make)
    • Application may or may not need to be recompiled/rebuilt
  4. Run
    1. Create a launch configuration
      1. Specify performance tool options (if desired)
      2. Specifiy other parallel execution parameters
      3. Select run sets (number of processors)
      • Generates batch script
  5. Analyze
    1. View data in analysis tool
    2. Create HTML report

Case Study #2 (Memory leak detection)

  1. Select a parallel project
    1. Specify application metadata (for performance data management)
  2. Open analysis wizard
    1. Select the 'detect memory leaks' checkbox
    2. Select any other measurement options
  3. Build
    1. Create make target (for standard make)
    • Application may or may not need to be recompiled/rebuilt
  4. Run
    1. Create a launch configuration
      1. Specify performance tool options (if desired)
      2. Specifiy other parallel execution parameters
      3. Select run sets (number of processors)
      • Generates batch script
  5. Analyze
    1. View data in analysis tool
  6. Return to source code
    1. Fix memory leaks
  7. Rebuild and launch to confirm fixes


Case Study #3 (batch + integrated run/build/launch)

  1. Select the "analysis" button (like the debug/run buttons)
    • This opens the integrated analysis wizard
    1. Select profiling set from the analysis tab
    2. Select the Make target and binary executable
  2. Create more analysis experiments
  3. Select the "batch" button from the anaylsis menu
    1. Select parameterizations (numbers of processors, binaries)
      • generates batch script
    2. Run the batch script
  4. Look at your data, run PerfExplorer


Case Study #4 (Routine and outer loop profiling)

  1. Invoke the analysis wizard
  2. Select execution time analysis/routine level
  3. Optionally select hardware counters for monitoring
  4. Run
  5. Analyze
    1. View data in analysis tool
  6. Choose routines for outer loop profiling
    • Optionally select specific loops for profiling
  7. Select hardware counters for monitoring
  8. Run
  9. Analyze
    1. View new data in analysis tool
    2. View relevant source code regions

Case Study #5 (Communication analysis)

  1. Invoke the analysis wizard
  2. Select 'execution/communication time analysis'
  3. Run
    1. Generate routine level callpath profile
    2. Automated tool analyzes profile output and generates selective instrumentation file
    3. Automated re-run using tracing (in format suitable for automated trace analysis)
  4. Analyze
    1. Automatically perform trace analysis to identify communication bottlenecks
    2. View bottleneck analysis result
    3. Optionally view trace in graphical trace viewer (after conversion if necessary)


Two step usage

  1. Right-click project to open analysis configuration (Wizard)
    • This creates a ...
  2. Right-click on binary to set up analysis setting (may require rebuilding project)

TODO

  1. TAU on update site
  2. System PTP Preferences (TAU location)
  3. User Preferences
  4. Project Preferences
  5. TAU Marker in source editor
  6. Analysis Perspective
  7. MPI tool-chain (for managed and standard make projects)
  8. Extension PT Project

UI designs

  1. Performance Analysis Perspective
  2. Wizards to set up instrumentation/measurement options during both builds and run phases.
  3. Templates to set up common multiple build experiments (ie. scaling, optimization levels etc...)
  4. Let the user choose the TAU makefile file when adding a TAU configuration to a eclipse project.
  5. Add tau run-time options to the run configuration

Standard Makefile Automation

  1. Add a 'include eclipse.env' line to include variables to build for different profiling/tracing options. Have users
  2. use the variables set in eclipse.env when writing their makefiles.

Back to the top