Visible to Intel only — GUID: GUID-EA241ED9-AB61-4707-9A91-A35C26D384CB
Visible to Intel only — GUID: GUID-EA241ED9-AB61-4707-9A91-A35C26D384CB
Design Patterns
This section provides some common parallel programming patterns and how to implement them in oneAPI Threading Building Blocks (oneTBB).
The description of each pattern has the following format:
Problem – describes the problem to be solved.
Context – describes contexts in which the problem arises.
Forces - considerations that drive use of the pattern.
Solution - describes how to implement the pattern.
Example – presents an example implementation.
Variations and examples are sometimes discussed. The code examples are intended to emphasize key points and are not full-fledged code. Examples may omit obvious const overloads of non-const methods.
Much of the nomenclature and examples are adapted from Web pages created by Eun-Gyu and Marc Snir, and the Berkeley parallel patterns wiki. See links in the General References section.
For brevity, some of the code examples use C++11 lambda expressions. It is straightforward, albeit sometimes tedious, to translate such lambda expressions into equivalent C++03 code.