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

Sign In

Your username is missing
Your password is missing

By signing in, you agree to our Terms of Service.

Forgot your Intelusername orpassword?

Frequently Asked Questions

Do you work for Intel? Sign in here.

Don’t have an Intel account? Sign up here for a basic account.

My Tools

Select Your Region

Asia Pacific

  • Asia Pacific (English)
  • Australia (English)
  • India (English)
  • Indonesia (Bahasa Indonesia)
  • Japan (日本語)
  • Korea (한국어)
  • Mainland China (简体中文)
  • Taiwan (繁體中文)
  • Thailand (ไทย)
  • Vietnam (Tiếng Việt)

Europe

  • France (Français)
  • Germany (Deutsch)
  • Ireland (English)
  • Italy (Italiano)
  • Poland (Polski)
  • Spain (Español)
  • Turkey (Türkçe)
  • United Kingdom (English)

Latin America

  • Argentina (Español)
  • Brazil (Português)
  • Chile (Español)
  • Colombia (Español)
  • Latin America (Español)
  • Mexico (Español)
  • Peru (Español)

Middle East/Africa

  • Israel (עברית)

North America

  • United States (English)
  • Canada (English)
  • Canada (Français)
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: Alder Lake
  • 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

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

      

Runtime Version

Develop in the Cloud

Build and optimize oneAPI multiarchitecture applications using the latest optimized Intel® oneAPI and AI tools, and test your workloads across Intel® CPUs and GPUs. No hardware installations, software downloads, or configuration necessary. Free for 120 days with extensions possible.

 

Get Access
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
  • 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.

parallel_reduce

Learn how to use the parallel_reduce algorithm for the Sieve of Eratosthenes method, 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.

 

View All Code Samples (GitHub)

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


For more information, see the system requirements.

Operating systems:

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

 

 

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 with All Things CODE

Sign up to receive the latest trends, tutorials, tools, training, and more to
help you write better code optimized for CPUs, GPUs, FPGAs, and other
accelerators—stand-alone or in any combination.

 

Sign Up
  • Features
  • Documentation & Code Samples
  • Training
  • Specifications
  • Help
  • Company Overview
  • Contact Intel
  • Newsroom
  • Investors
  • Careers
  • Corporate Responsibility
  • Diversity & Inclusion
  • Public Policy
  • © Intel Corporation
  • Terms of Use
  • *Trademarks
  • Cookies
  • Privacy
  • Supply Chain Transparency
  • Site Map
  • Do Not Share My Personal Information
  • Recycling

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. // See our complete legal Notices and Disclaimers. // Intel is committed to respecting human rights and avoiding complicity in human rights abuses. 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 a violation of an internationally recognized human right.

Intel Footer Logo