• 2021.4
  • 09/27/2021
  • Public Content

Design Patterns

This section provides some common parallel programming patterns and how to implement them in Intel® 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
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.

Product and Performance Information


Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.