• 2021.6
  • 04/11/2022
  • Public Content

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
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.