Vectorization and Code Insights Perspective
- Where vectorization, or parallelization with threads, will pay off the most
- If vectorized loops are providing benefit, and if not, why not
- Un-vectorized loops and why they are not vectorized
- Memory usage issues
- Performance insights and problems in general
- Choose collection accuracy level to select perspective steps and set analysis properties, depending on the desired results:
The higher accuracy value you choose, the higher runtime overhead is added to your application. TheOverheadindicator shows the overhead for the selected configuration.By default, accuracy is set to Low. For more information, see Vectorization Accuracy Presets.
- Low: Get the basic insights about vectorized and un-vectorized loops in your code.
- Medium: Identify the number of times loops execute to make better decisions about your vectorization strategy.
- High: Analyze application memory usage and performance values that help you make better decisions about your vectorization strategy in details.
- Custom: Customize the perspective flow and properties.
- If you want to limit the Characterization and/or MAP analyses to one or more specific loops/functions instead of analyzing the whole application:
- From a Survey report generated: Mark one or more un-vectorized loops by enabling the corresponding checkboxes in the report.
- If you want check for loop-carried dependency to safely vectorize scalar loops, select theDependenciesanalysis. For more information about the Dependencies analysis and report, see Find Data Dependencies.
- Run the perspective: click button.While the perspective is running, you can do the following in theAnalysis Workflowtab:
- Control the perspective execution:
- Stop data collection and see the already collected data: Click the button.
- Pause data collection: Click the button.
- Cancel data collection and discard the collected data: Click the button.
- Expand an analysis with to control the analysis execution:
- Pause analysis and see the already collected data: Click the button.
- Stop analysis and start the next analysis selected: Click the button.
- Interrupt execution of all selected analyses and see the already collected data: Click the button.
- After you run theVectorization and Code Insightsperspective, the collectedSurveydata becomes available for all other perspectives. If you switch to another perspective, you can skip the Survey step and run only perspective-specific analyses.
- If the Survey analysis does not collect enough data to produce a Survey report, it displays aTarget executed too quickly or does not contain debug symbolsmessage. Increase the target workload or data to run the analysis for at least a few seconds, check whether debug information is specified as a build option, or specify a different target application.