Intel® High Level Synthesis Compiler Pro Edition: Best Practices Guide

ID 683152
Date 3/28/2022

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

Document Table of Contents Task Parallelism

The compiler achieves concurrency by scheduling independent individual operations to execute simultaneously, but it does not achieve concurrency at coarser granularities (for example, across loops).

For larger code structures to execute in parallel with each other, you must write them as separate components or tasks that launch simultaneously. These components or tasks then run independently, and synchronize and communicate using pipes or streams, as shown in the following figure:

Figure 21. Multiple Task Functions Running Asynchronously

For details, see Systems of Tasks in the Intel® High Level Synthesis Compiler Pro Edition Reference Manual .