Offload Modeling Perspective
- Provides performance speedup estimation on target devices
- Provides offload overhead estimation
- Pinpoints performance bottlenecks
- Takes into account not only compute and memory limitations, but the time required to transfer data and schedule region execution on a target device
Offload Modeling Summary
- Main metrics for the modeled performance of your program in theTop MetricsandProgram Metricspanes. This information indicates if you should offload your application to a target device or not.
- Specific factors that prevent your code from achieving a better performance if executed on a target device in theOffload Bounded by.
- Top five offloaded loops/functions that provide the highest benefit if offloaded sorted by speedup in theTop Offloadedpane.
- Top five non-offloaded loops/functions, performance metrics, and the reason why they were not offloaded in theTop Non-Offloadedpane. For details about reasons for not offloading and possible solutions, refer to Investigate Non-Offloaded Code Regions.
How It Works
- Get the baseline performance data for your application by running aSurveyanalysis.
- Identify the number of times loops are invoked and executed and the number of floating-point and integer operations, estimate cache and memory traffics on target device memory subsystem by running theCharacterizationanalysis.
- Identify loop-carried dependencies by running theDependenciesanalysis.
- Select regions of interest that might be offloaded to a target device.
- Estimate execution time for each selected code region if it is offloaded to a target device by runningModeling. If execution on target takes less time than on host, the region is profitable for offloading.
- Compute the total program speed-up and other estimated performance metrics according to Amdahl's law, taking into account speed-up from the most profitable regions.
- Analysis Workflowtab - Review the controls available to configure the perspective workflow for your application.
- Offload Modeling Summary- Review the most important information about your application performance modeled for a target device.
- Accelerated Regionsreport - Review the detailed information on all of the offloaded and non-offloaded regions of the code.
- Logs- Review the log messages reported during the perspective execution.