Intel® Advisor Help

Analyzing Multi-ISA Binaries

Intel® Advisor provides enables you to analyze non-executed code paths, generated by the Intel Compiler for various instruction set architectures (ISA).

To enable this functionality, you need to generate a binary with multiple code paths via the Intel Compiler. Use the Intel Compiler -ax compilation flags to specify the target ISA(s). Refer to the Intel C++ and Intel Fortran Compiler documentation for information on how you can do that (find links in the See Also section at the bottom of this page).

Enable Non-Executed Code Paths Analysis

Once your binary is compiled for using multiple instruction sets, enable the Intel® Advisor to analyze all versions of vector loops residing in the binary:

  1. Go to Project Properties (Ctrl+P).
  2. Specify path to the binary (if not specified already).
  3. Check Analyze loops that reside in non-executed code paths

  4. Save the changes by clicking OK.

Viewing Loops Residing in Non-Executed Code Paths

For the non-executed loops to appear in the Survey Report, you need to collect the Survey data (or re-collect if you just forgot to switch on the option but the binary was multi-ISA originally). Trigger the Survey analysis with, for example, the Collect button in the workflow tab.

Note

finalization of the Intel Advisor results for all loops (including the non-executed ones for ISAs different from the one available with the current hardware) might take way more time than usually. Please be patient.

Once the Survey analysis is over, refer to the Survey report. You need to enable viewing non-executed loops in the Survey grid, which can be done with the corresponding button (the button shows all loops):

Once you click the button, the Intel Advisor will refresh the grid and add non-executed loops under "parent" loops. To see them, expand a vectorized loop . As a result, you will see the non-executed loops among those that did execute:

At this point you should be able to analyze the non-executed loops that target the hardware that is different from what you have installed on the current machine.

See Also