About Intel® Threading Building Blocks (Intel® TBB)

Intel® Threading Building Blocks (Intel® TBB) is a high-level parallel programming framework for C++ code that uses a template-based runtime library to help you harness the performance of multi-core processors. Intel TBB lets you specify logical parallelism instead of threads. You specify potential parallelism - what can be run in parallel. The library decides the actual parallelism at run-time, matching it to the available hardware. The library has templates that simplify using high level parallel patterns such as parallel loops. Intel TBB programs are implemented by a library that has been ported to multiple C++ compilers.

Use Intel TBB to write scalable programs that:

  • Specify parallel work instead of managing threads.

  • Emphasize data parallel programming.

  • Take advantage of high-level parallel patterns.

Intel TBB consists of header files and shared dynamic libraries, so it can be used with any C++ compiler.

Intel recommends that you consider using Intel TBB for introducing parallelism into C++ programs. It has a small cost of entry and provides excellent initial performance with a lot of additional capabilities that can be used for future refinements.

It requires a little more initial work than Intel Cilk Plus, but has many powerful features that can make it possible to easily parallelize more places in your application. These features include:

  • Parallel algorithmic patterns

  • Concurrency-friendly containers

  • Scalable memory allocation

  • Synchronization primitives

  • Timing

For more complete information about compiler optimizations, see our Optimization Notice.