Open main menu

CDOT Wiki β

Changes

GPU621/Intel Advisor Assistant

2,424 bytes added, 15:16, 8 December 2021
Intel Advisor
== How to install Intel Advisor ==
The standalone tool is available on Intel’s official website at https://www.intel.com/content/www/us/en/developer/tools/oneapi/advisor.html and it is also a part of the Intel OneAPI Base Toolkit.
 
== Advantages of Using Intel Advisor ==
To talk about the advantages of using Intel Advisor we need to discuss a major concern of programmers today; CPU speeds are not increasing and there is a larger emphasize on producing code that will perform more efficiently with the resources available.
 
With newer processors more options for multi-threading processes become available to coders, as such code produced in this era of computing needs to be parallelized to reach its capabilities.
 
Intel Advisor is a tool designed to help you take advantage of all the cores available on your CPU. Compiling your code with the proper instruction set will allow your program to take full advantage all the processing power of your CPU.
 
As it is, with Visual Studio, having optimization turned off simply has the compiler create assembly code for your code as written. With optimization Visual Studio uses Profile-Guided Optimization (PGO) to produce a more optimized code, but no where near as optimized as is possible.
 
== How It Displays Information ==
A key feature of Intel Advisor is it offers information to the user via a graphical user interface (GUI) or Command Line.
Here in an example taken from the Intel Website site we can see an example of vectorization and code insights offered by their application:
Here this offers several important pieces of information such as:
• Performance metrics
• Top time-consuming loops as sorted by time
• A recommendation list for fixing performance issues with your code
 
How Vectorization and Code Insights works :
• Get integrated compiler report data and performance data by running a survey analysis
• Identifies the number of times loops are invoked and execute and the number of floating-point and integer operations by running a Characteristic analysis
• Checks for various memory issues by running the Memory Access Patterns (MAP) analysis
• Checks for data dependencies in loops that the compiler did not vectorize by running the Dependencies analysis.
 
To expand on a few of these points.
Survey analysis is the process where Intel Advisor looks to identify loop hotspots and will use that to provide recommendations on how to fix vectorization issues.
Memory Access Patterns will check for memory access issues with such as non-contiguous parts.
Dependencies analysis will check for real data dependencies in loops which the compiler failed to vectorize.
== Progress ==
67
edits