Visible to Intel only — GUID: GUID-52007588-9F95-45CB-B2B2-066BBB707979
Visible to Intel only — GUID: GUID-52007588-9F95-45CB-B2B2-066BBB707979
Investigate Non-Offloaded Code Regions
The modeling step analyzes code regions profitability for offloading to a target device. Some regions might be not profitable for offloading or cannot be modeled.
If you view a result in the Intel® Advisor GUI: To see details why your code region of interest is reported as not recommended for offloading, select a loop in a Code Regions pane and see the Details tab in the right-side pane for detailed loop information, including the reason why the loop is not recommended for offloading.
By default, the report shows all code regions. You can apply filters to see only regions recommended or not recommended for offloading: open the drop-down list and select the desired filter option.
If you view the result in an Offload Modeling HTML report: Go to the Non-Offloaded Regions tab and examine the Why Not Offloaded column in the Offload Information group to the reason why a code region is not recommended for offloading to a selected target platform.
Cannot Be Modeled
Message |
Cause and Details |
Solution |
---|---|---|
Cannot be modeled: Outside of Marked Region |
Intel® Advisor cannot model performance for a code region because it is not marked up for analysis. |
Make sure a code region satisfies all markup rules or use a different markup strategy:
|
Cannot be modeled: Not Executed |
A code region is in the call tree, but the Intel Advisor detected no calls to it for a dataset used during Survey. |
This can happen if execution time of the loop is very small and close to the sampling interval of the Intel Advisor. Such loops can have significant inaccuracies in time measurement. By default, the sampling interval for Survey is 0.01 seconds. You can try to decrease the sampling interval of the Intel Advisor:
|
Cannot be modeled: Internal Error |
Internal Error means incorrect data or lack of data because the Intel Advisor encountered issues when collecting or processing data. |
Try to re-run the Offload Modeling perspective to fix the metrics attribution problem. If this does not help, use the Analyzers Community forum for technical support. |
Cannot be modeled: System Module |
This code region is a system function/loop. |
This is not an issue. If this code region is inside an offload region, or a runtime call, its execution time is added to execution time of offloaded regions. |
Cannot be modeled: No Execution Count |
The Intel Advisor detected no calls to a loop during Trip Count step of the Characterization analysis and no information about execution counts is available for this loop. |
Check what loop is executed at this branch. If you see a wrong loop, try re-running the Offload Modeling to fix the metrics attribution problem. |
Less or Equally Profitable Than Children/Parent Offload
This message is not an issue. It means that Intel Advisor has found a more profitable code region to offload. If you still want to see offload estimations for the original code region, use the solutions described in the table below.
Message |
Cause and Details |
Solution |
---|---|---|
Less or equally profitable than children offloads |
Offloading child loops/functions of this code region is more profitable than offloading the whole region with all its children. This means that the execution Time estimated on a target platform for the region of interest is greater than or equal to the sum of Time values estimated on a target platform for its child regions profitable for offloading. The following reasons might prevent offloading: total execution time, taxes, trip counts, dependencies. |
Model offloading for specific code regions even if they are not profitable. See Enforce Offloading for Specific Loops for details. |
Less or equally profitable than parent offload |
Offloading a whole parent code region of the region of interest is more profitable than offloading any of its child regions separately. This means that the Time estimated on a target platform for the region of interest is greater than or equal to the Time estimated on the target platform for its parent region. Offloading a child code region might be limited by high offload taxes. |
Solution 1 If you assume the kernel execution should overlap offload taxes, use the --assume-hide-taxes option with --collect=projection action option or the analyze.py script. See Manage Invocation Taxes for details. Solution 2 Model offloading for only specific code regions even if they are not profitable. See Enforce Offloading for Specific Loops for details. |
Not Profitable
Message |
Cause and Details |
Solution |
---|---|---|
Not profitable: Parallel execution efficiency is limited due to Dependencies |
Dependencies limit parallel execution and the code region cannot benefit from offloading to a target device. The estimated execution time after acceleration is greater than or equal to the original execution time. |
Solution 1 Ignore assumed dependencies and model offloading for all or selected code regions:
For details, see Check How Dependencies Affect Modeling. Solution 2 If you did not enable the Dependencies analysis when collecting data, run the analysis as follows to get detailed information about real dependencies in your code:
See Dependency Type metric descript |