You have completed the Finding Hotspots tutorial. Here are some important things to remember when using the Intel® VTune™ Amplifier to analyze your code for hotspots:


Tutorial Recap

Key Tutorial Take-aways

1. Prepare for analysis

If you used the Visual Studio* IDE: You chose the target for the Basic Hotspots analysis, 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 performance baseline.

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, created the performance baseline, 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.

  • Create a performance baseline to compare the application versions before and after optimization. Make sure to use the same workload for each application run.

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

  • Use the Analysis Type tab to choose, configure, and run the analysis. You can also run the analysis from command line using the amplxe-cl command.

2. Find hotspots

You launched the Basic Hotspots data collection that analyzes function calls and CPU time spent in each program unit of your application and identified the following hotspots:

  • Identified a function that took the most CPU time and could be a good candidate for algorithm tuning.

  • Identified the code section that took the most CPU time to execute.

  • Start analyzing the performance of your application from the Summary window to explore the performance metrics for the whole application. Then, move to the Bottom-up window to analyze the performance per function. Focus on the hotspots - functions that took the most CPU time. By default, they are located at the top of the table.

  • Double-click the hotspot function in the Bottom-up pane or Call Stack pane to open its source code and identify the code line that took the most CPU time.

3. Eliminate hotspots

You interchanged the loops in the hotspot function, rebuilt the application, and got performance gain of 7.029 seconds. You also considered an alternative optimization technique using the Intel C++ compiler.

Consider using Intel Compiler to optimize your tuning algorithms. Explore the compiler documentation for more details.

4. Check your work

You ran the Basic Hotspots analysis on the optimized code and compared the results before and after optimization using the Compare mode of the VTune Amplifier. Compare analysis results regularly to look for regressions and to track how incremental changes to the code affect its performance. You may also want to use the VTune Amplifier command-line interface and run the amplxe-cl command to test your code for regressions. For more details, see the Command-line Interface Support section in the VTune Amplifier online help.

Perform regular regression testing by comparing analysis results before and after optimization. From GUI, click the Compare Results button on the VTune Amplifier toolbar. From command line, use the amplxe-cl command.

Next step: Prepare your own application(s) for analysis. Then use the VTune Amplifier to find and eliminate hotspots.

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

For more complete information about compiler optimizations, see our Optimization Notice.