Here are some important things to remember when using Intel® Advisor to find where to add parallelism.
Prepare Target Executable for Tool Analysis
If you used the Visual Studio* IDE: You chose a project and verified that the project is set to produce the most accurate, complete results. You built and ensured the application runs on your system outside of Intel Advisor.
If you used the Intel Advisor Standalone GUI: You built and ensured the application runs on your system outside the Intel Advisor, and created a project to hold analysis results.
In either case, you built a release build with debug symbol information and moderate optimization for the Survey and Suitability tools, and a debug build with debug symbol information and no optimization with a limited data set for the Correctness tool.
Discover, Choose, and Mark Parallel Opportunities
You used the Summary window to learn which loops or functions consume significant CPU time to be possible candidates for parallelism. You also used the Survey Report window to examine possible areas where your application spends its time. You decided where to add Intel Advisor annotations for a parallel site and a parallel task and learned how to add them.
Check Performance Implications and Fix Potential Correctness Problems
You used the Suitability tool to predict your annotated application's approximate parallel performance. You examined the Suitability Report to predict the overall program gain and each parallel site's performance gain and task characteristics.
You used the Correctness tool to predict your annotated application's likely data sharing problems. You examined the Correctness Report to examine each data sharing problem, including related code locations and the source code in the Correctness Source window to understand the cause. You were able to Fix Sharing Problems by modifying (refactoring) your source code and/or using synchronization techniques to eliminate the predicted data sharing problems.
Decide on the Proposed Tasks
After you ran the Suitability and Correctness tools, you examined the Summary window to decide whether the proposed sites and tasks provide sufficient predicted performance (Suitability) gain as well as a set of data sharing problems (Correctness) that likely can be fixed.
Add Parallelism and Next Steps for the Parallel Program
You selected a high-level parallel framework. For the proposed parallel code regions, you replaced Intel Advisor annotations with parallel framework code. After successfully adding parallelism to relevant parts of your program, you considered using other suite tools to check and tune your parallel program.
Next step: Congratulations, you have completed the Intel Advisor tutorial!
With your own application, you can:
- Profile your program with the Survey tool to find where it spends its time.
- Select a parallel site and define its tasks by inserting Intel Advisor annotations.
- Predict the parallel behavior of your annotated program using the Suitability and Correctness tools.
- Identify and fix possible sharing problems, and run the Suitability and Correctness tools again.
- Select a parallel framework. Replace annotations with parallel code.
- Use the other tools in Intel Parallel Studio XE, Intel Cluster Studio XE, or similar studio tool suites to check and tune your parallel program.