Skip To Main Content
Intel logo - Return to the home page
My Tools

Select Your Language

  • Bahasa Indonesia
  • Deutsch
  • English
  • Español
  • Français
  • Português
  • Tiếng Việt
  • ไทย
  • 한국어
  • 日本語
  • 简体中文
  • 繁體中文
Sign In to access restricted content

Using Intel.com Search

You can easily search the entire Intel.com site in several ways.

  • Brand Name: Core i9
  • Document Number: 123456
  • Code Name: Emerald Rapids
  • Special Operators: “Ice Lake”, Ice AND Lake, Ice OR Lake, Ice*

Quick Links

You can also try the quick links below to see results for most popular searches.

  • Product Information
  • Support
  • Drivers & Software

Recent Searches

Sign In to access restricted content

Advanced Search

Only search in

Sign in to access restricted content.

The browser version you are using is not recommended for this site.
Please consider upgrading to the latest version of your browser by clicking one of the following links.

  • Safari
  • Chrome
  • Edge
  • Firefox

Intel® oneAPI Threading Building Blocks

Scalable Parallel Programming at Your Fingertips

  

  • Overview
  • Download
  • Documentation & Resources

Simplified Development for Parallel Applications

Intel® oneAPI Threading Building Blocks (oneTBB)† is a flexible performance library that simplifies the work of adding parallelism to complex applications across accelerated architectures, even if you’re not a threading expert.

oneTBB is ideal for a wide range of compute-intense domains, such as:

  • Numeric weather prediction
  • Oceanography
  • Astrophysics
  • Genetic engineering
  • Seismic exploration
  • AI and automation
  • Energy resource exploration
  • Socioeconomics

†Intel® Threading Building Blocks (Intel® TBB) is now called Intel oneAPI Threading Building Blocks (oneTBB) to highlight that the tool is part of the oneAPI ecosystem.

 

Download as Part of the Toolkit

oneTBB is included in the Intel® oneAPI Base Toolkit, which is a core set of tools and libraries for developing high-performance, data-centric applications across diverse architectures.

Get It Now
Download the Stand-Alone Version

A stand-alone download of oneTBB is available. You can download binaries from Intel or choose your preferred repository.

Download

  

Help oneTBB Evolve

oneTBB is part of the oneAPI industry standards initiative. We welcome you to participate.

Specification

Open Source Version (GitHub*)

Features

oneTBB differs from typical threading packages in the following ways:

Specify Logical Performance, Not Threads
A runtime library automatically maps logical parallelism onto threads, making the most efficient use of processor resources.
 

Targets Threading for Performance
Focuses on the specific goal of parallelizing computationally intensive work, delivering higher-level, simpler solutions.


Coexists with Other Threading Packages
Seamlessly compatible with other threading packages, it gives you the flexibility to keep your legacy code as-is and use oneTBB for new implementations.

Emphasizes Scalable, Data-Parallel Programming
Rather than breaking up a program into functional blocks and assigning a separate thread to each, oneTBB emphasizes data-parallel programming, enabling multiple threads to work on different parts of a collection. This scales well to larger numbers of processors by dividing the collection into smaller pieces. Program performance increases as you add cores and processors.

Benchmarks 

This benchmark illustrates the performance scalability of oneTBB.

Documentation & Code Samples

Documentation

  • Get Started Guide
  • Developer Guide and Reference
  • Cookbook
  • System Requirements
  • Release Notes

View Current Documentation

View Legacy Documentation

Code Samples

Get Started 

sub_string_finder

Learn how to use the parallel_for algorithm by locating a substring in the string.  

Use oneTBB and SYCL*

tbb-async-sycl

See how to split the computational kernel for running between a CPU and GPU.

tbb-resumable-tasks-sycl

Learn how to use parallel_for and resumable tasks to split the computational kernel between a CPU and GPU. 

tbb-task-sycl

Observe how similar computational kernels are run by two oneTBB tasks with TBB code and code that's compliant with SYCL*.  


Advanced Scenarios

parallel_for

Examples in this repository show how to use the parallel_for algorithm for a 2D ray tracer and renderer, seismic wave simulation, and more.

Flow Graph

Examples in this repository show how to use a flow graph for a self-organizing map, the Cholesky Factorization algorithm, and more.

parallel_reduce 

Learn how to use the parallel_reduce algorithm for the Sieve of Eratosthenes method, and more. 

 

View All Code Samples (GitHub)

View oneAPI Samples Catalog

How to work with code samples:

  • Using a command-line interface: Windows* | Linux*
  • Using an IDE: Windows | Linux

Training

First Steps

  • Develop an Application with Parallel Execution

Optimization for Modern Architectures

  • Optimize Task-Based Programming in a Cross-Architecture World [01:00:06]
  • Optimize oneTBB for Non-Uniform Memory Access (NUMA) Architectures [01:00:28]
 

Concurrent Containers

  • Scale Your C++ Applications Efficiently with oneTBB Concurrent Container Classes [01:02:11]

Scalable Memory Allocation

  • Turbocharge Your C++ Code: Efficient Memory Allocation for Increased Performance [41:00]

 

View All Resources

Training & Events Calendar 

Specifications

Languages:

  • Data Parallel C++ (DPC++)
    Note Must have Intel® oneAPI Base Toolkit installed
  • C++

Operating systems:

  • Windows
  • Linux
  • macOS*
  • Android* (additional with open source) 

For more information, see the system requirements.

Get Help

Your success is our success. Access these forums when you need assistance.

  • Intel oneAPI Threading Building Blocks Forum
  • General oneAPI Support

Stay In the Know on All Things CODE

Sign up to receive the latest tech articles, tutorials, dev tools, training opportunities, product updates, and more, hand-curated to help you optimize your code, no matter where you are in your developer journey. Take a chance and subscribe. You can change your mind at any time.

All fields are required unless marked optional.

Intel strives to provide you with a great, personalized experience, and your data helps us to accomplish this.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
By submitting this form, you are confirming you are age 18 years or older. Intel will process your Personal Data for the purpose of this business request. To learn more about Intel's practices, including how to manage your preferences and settings, visit Intel's Privacy Notice.
By submitting this form, you are confirming you are age 18 years or older. Intel may contact you for marketing-related communications. You can opt out at any time. To learn more about Intel's practices, including how to manage your preferences and settings, visit Intel's Privacy Notice.

You’re In!

Thank you for signing up. Be on the lookout for a welcome email to get you started.

  • Company Overview
  • Contact Intel
  • Newsroom
  • Investors
  • Careers
  • Corporate Responsibility
  • Inclusion
  • Public Policy
  • © Intel Corporation
  • Terms of Use
  • *Trademarks
  • Cookies
  • Privacy
  • Supply Chain Transparency
  • Site Map
  • Recycling
  • Your Privacy Choices California Consumer Privacy Act (CCPA) Opt-Out Icon
  • Notice at Collection

Intel technologies may require enabled hardware, software or service activation. // No product or component can be absolutely secure. // Your costs and results may vary. // Performance varies by use, configuration, and other factors. Learn more at intel.com/performanceindex. // See our complete legal Notices and Disclaimers. // Intel is committed to respecting human rights and avoiding causing or contributing to adverse impacts on human rights. See Intel’s Global Human Rights Principles. Intel’s products and software are intended only to be used in applications that do not cause or contribute to adverse impacts on human rights.

Intel Footer Logo