Intel® Advisor Help

Enforce Offloading for Specific Loops

Model performance on a target device for specific loops only even if they are not profitable.

If you want to check offload profitability only for specific loops or if your loop of interest is reported as not recommended for offloading to an accelerator, you can model performance only for these loops.

To do this:

  1. Collect performance data using the collect.py script or the advisor command line interface. For example:

    advisor --collect=survey --project-dir=<project-dir> --stackwalk-mode=online --static-instruction-mix -- <target-application>

    advisor --collect=tripcounts --project-dir=<project-dir> --flop --enable-cache-simulation --target-device=<target> -- <target-application>

  2. Rerun performance modeling using the analyze.py script or the advisor command line interface with the following options:
    • --select=[<loop-ID1>|<file-name1>:<line1>,<loop-ID2>|<file-name2>:<line2>,...] (with advisor --collect=projection) or --select-loops=[<loop-ID1>|<file-name1>:<line1>,<loop-ID2>|<file-name2>:<line2>,...] (with analyze.py) to specify loop(s) of interest in a comma-separated list
    • --enforce-offloads to make sure all of them are offloaded
    • Optional: --set-parallel=[<loop-ID1>|<file-name1>:<line1>,<loop-ID2>|<file-name2>:<line2>,...] to ignore loop-carried dependencies when estimating offload profitability

      Note

      Make sure to specify the same loops/functions or a subset of loops/functions specified with the --select / --select-loops option.

    For example:

    advisor --collect=projection --project-dir=<project-dir> --config=<config> --select=[<file-name1>:<line-number1>,<file-name2>:<line-number2>] --enforce-offload

Open the Offload Modeling results in the Intel® Advisor GUI or view an HTML report. The results will show performance modeled for the selected loops only.

Related information
analyze.py Options