Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
PTP/designs/perf
Contents
- 1 Case Study (Workload Characterization)
- 2 Case Study #2 (Memory leak detection)
- 3 Case Study #3 (batch + integrated run/build/launch)
- 4 Case Study #3b (scalability analysis)
- 5 Case Study #4 (Routine and outer loop profiling)
- 6 Case Study #5 (Communication analysis)
- 7 Case Study #6 (Tool needs data)
- 8 Case Study #7 (Data Analysis)
- 9 Two step usage
- 10 TODO
- 11 UI designs
- 12 Standard Makefile Automation
Case Study (Workload Characterization)
- Select a parallel project
- Specify application metadata (for performance data management)
- Open analysis creation wizard
- Select workload characterization from the list of analysis tasks
- Select performance measurement/monitoring tool
- Select hardware counter set
- Select workload characterization from the list of analysis tasks
- Build
- Create make target (for standard make)
- Application may or may not need to be recompiled/rebuilt
- Run
- Create a launch configuration
- Specify performance tool options (if desired)
- Specifiy other parallel execution parameters
- Select run sets (number of processors)
- Generates batch script
- Create a launch configuration
- Analyze
- View data in analysis tool
- Create HTML report
Case Study #2 (Memory leak detection)
- Select a parallel project
- Specify application metadata (for performance data management)
- Open analysis wizard
- Select the 'detect memory leaks' checkbox
- Select any other measurement options
- Build
- Create make target (for standard make)
- Application may or may not need to be recompiled/rebuilt
- Run
- Create a launch configuration
- Specify performance tool options (if desired)
- Specifiy other parallel execution parameters
- Select run sets (number of processors)
- Generates batch script
- Create a launch configuration
- Analyze
- View data in analysis tool
- Return to source code
- Fix memory leaks
- Rebuild and launch to confirm fixes
Case Study #3 (batch + integrated run/build/launch)
- Select the "analysis" button (like the debug/run buttons)
- This opens the integrated analysis wizard
- Select profiling set from the analysis tab
- Select the Make target and binary executable
- Create more analysis experiments
- Select the "batch" button from the anaylsis menu
- Select parameterizations (numbers of processors, binaries)
- generates batch script
- Run the batch script
- Select parameterizations (numbers of processors, binaries)
- Look at your data, run PerfExplorer
Case Study #3b (scalability analysis)
- Select the "analysis" button (like the debug/run buttons)
- This opens the integrated analysis wizard
- Select 'scalability analysis'
- Select the profiling options
- Select the Make target and binary executable
- Select parameterizations (numbers of processors, binaries)
- Run the experiment
- generates batch script
- Run the batch script
- Analyze data
- Use cross-experiment analysis tools
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)
Case Study #6 (Tool needs data)
- Data mining tool determines that new performance data needs to be generated
- Tool somehow communicates this to Eclipse PTP
- Eclipse PTP performs necessary build & run
- Tool gets data
Case Study #7 (Data Analysis)
- Go to the performance data manager panel
- Select data to be analyzed
- Launch performance data analysis tool
- Data are auto-converted if necessary
Two step usage
- Right-click project to open analysis configuration (Wizard)
- This creates a ...
- Right-click on binary to set up analysis setting (may require rebuilding project)
TODO
- TAU on update site
- System PTP Preferences (TAU location)
- User Preferences
- Project Preferences
- TAU Marker in source editor
- Analysis Perspective
- MPI tool-chain (for managed and standard make projects)
- Extension PT Project
UI designs
- Performance Analysis Perspective
- Wizards to set up instrumentation/measurement options during both builds and run phases.
- Templates to set up common multiple build experiments (ie. scaling, optimization levels etc...)
- Let the user choose the TAU makefile file when adding a TAU configuration to a eclipse project.
- Add tau run-time options to the run configuration
Standard Makefile Automation
- Add a 'include eclipse.env' line to include variables to build for different profiling/tracing options. Have users
- use the variables set in eclipse.env when writing their makefiles.