You have completed the Identifying Hardware Issues tutorial. Here are some important things to remember when using the Intel® VTune™ Amplifier to analyze your code for hardware issues:

Step Tutorial Recap Key Tutorial Take-aways

1. Prepare for analysis.

If you used the Visual Studio* IDE: You selected the matrix project as an analysis target , set up your environment to enable generating symbol information for system libraries and your binary files, and built the target in the Release mode.

If you used the standalone GUI: You set up your environment to enable generating symbol information for system libraries and your binary files, built the target in the Release mode, and created the VTune Amplifier project for your analysis target.

  • Configure the Microsoft* symbol server and your project properties to get the most accurate results for system and user binaries and to analyze the performance of your application at the code line level.

  • Use the Analysis Target tab to choose and configure your analysis target. For Visual Studio* projects, the analysis target settings are inherited automatically.

2. Find hardware issues

You ran the General Exploration analysis that monitors how your application performs against a set of event-based hardware metrics as follows:

  • Analyzed the data provided in the Hardware Issues viewpoint, explored the event-based metrics, identified the areas where your sample application had hardware issues, and found the exact function with poor performance per metrics that could be a good candidate for further analysis.
  • Analyzed the code for the hotspot function identified in the Bottom-up window and located the hotspot line that generated a high number of CPU Clockticks.
  • Use the Analysis Type tab to choose, configure, and run the analysis. You may choose between a predefined analysis type like the General Exploration type used in this tutorial, or create a new custom analysis type and add events of your choice. For more details on the custom collection, see the Creating a New Analysis Type topic in the product online help.
  • See the Details section of the General Exploration configuration pane to get the list of processor events used for this analysis type.

3. Resolve detected issues

You solved the memory access issue for the sample application by interchanging the loops and sped up the execution time. You also considered using the Intel compiler to enable instruction vectorization.

You also tried optimizing the mechanism of matrix multiplication. Both tuning scenarios gave you 78.695 seconds of optimization in the application execution time.

  • Start analyzing the performance of your application from the Summary window to explore the event-based performance metrics for the whole application. Mouse over the help icons to read the metric descriptions. Use the Elapsed time value as your performance baseline.

  • Move to the Bottom-up window and analyze the performance per function. Focus on the hotspots - functions that took the highest Clockticks event count. By default, they are located at the top of the table. Analyze the hardware issues detected for the hotspot functions. Hardware issues are highlighted in pink. Mouse over a highlighted value to read the issues description and see the threshold formula.

  • Double-click the hotspot function in the Bottom-up pane to open its source code and identify the code line that took the highest Clockticks event count.

  • Consider using Intel Compiler to vectorize instructions. Explore the compiler documentation for more details.

Next step: Prepare your own application(s) for analysis. Then use the VTune Amplifier to find hardware issues and fix them.

Optimization Notice

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804