Intel® Advisor User Guide

ID 766448
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Difficult Problems: Choosing a Different Set of Tasks

If you find a conflict that cannot be resolved using the above techniques, you should consider the following alternatives.

  • Merge the two tasks involved in the conflict into a single task.

  • Divide the tasks into smaller tasks and do the work preceding the conflict in parallel, the work involving the conflict serially, and the work after the conflict in parallel.

  • Find a different site to introduce parallelism.

  • Intel Advisor presents a simplified model of what is possible with parallel programming. Occasionally it will be beneficial to take advantage of more advanced techniques that are available in the Intel® oneAPI Threading Building Blocks (oneTBB), OpenMP*, or native threading APIs.

Any changes - other than lock annotations - you have made to fix incidental sharing problems should be left in the code. These changes will not harm performance, they have improved maintainability, and they may be useful at the new site or in future parallelization efforts.