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 and ignore all other loops.
Note
: In the commands below, make sure to replace the
myApplication
with your application executable path and name
before
executing a command. If your application requires additional command line options, add them
after
the executable name.To do this:
- Collect baseline performance data. For example, run the Survey and Characterization analyses:advisor --collect=survey --static-instruction-mix --project-dir=./advi_results -- ./myApplicationadvisor --collect=tripcounts --flop --stacks --enable-cache-simulation --target-device=xehpg_512xve --project-dir=./advi_results -- ./myApplication
- Rerun performance modeling for selected loops/functions only. For example:advisor --collect=projection --select=foo.cpp:34,bar.cpp:192 --enforce-offload --project-dir=./advi_resultswhere:
- --selectlists loops/functions to analyze by file and line number, loop/function ID, or criteria.
- --enforce-offloadsmodels performance for all selected loops/functions even if offloading their child loops/functions is more profitable.
View the
Offload Modeling
results in the
Intel® Advisor
GUI or view an HTML report. The results will show performance estimated for the selected loops/functions only.