Intel® Advisor User Guide

ID 766448
Date 12/16/2022
Public

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

Document Table of Contents

Intel® oneAPI Threading Building Blocks (oneTBB)

Intel® oneAPI Threading Building Blocks (oneTBB) 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. oneTBB 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. oneTBB programs are implemented by a library that has been ported to multiple C++ compilers.

Use oneTBB to write scalable programs that:

  • Specify parallel work instead of managing threads.

  • Emphasize data parallel programming.

  • Take advantage of high-level parallel patterns.

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

Intel recommends that you consider using oneTBB 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 also 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