Check for Dependency Issues
- Expand theMeasuredcolumn group and see theDependency Typecolumn. It indicates if the loop has dependencies and if yes, reports dependency types.In theDetailstab, see an icon indicating loop dependency type:
- - code region is parallel or can be parallelized.
- - code region has dependencies.
- In theThroughputcolumn of theEstimated Bound-bygroup, review time spent for dependencies-bound parts of your code. If the value is high, fix the dependencies.
- Intel Advisormight detect that some of the loops do not have dependencies and can be offload candidates, even though they were previously assumed as having dependencies. Review the list of loops/functions considered profitable for offloading for new candidates.
- Offloaded memory objects with size and transfer direction.
- The histogram distribution of objects that the selected region accessed by size.
- Based on collected data, rewrite your code to offload to a target platform and measure performance of GPU kernels withGPU Roofline Insightsperspective.