oneTBB is a flexible C++ library that simplifies the work of adding parallelism to complex applications, even if you are not a threading expert.
The library lets you easily write parallel programs that take full advantage of the multi-core performance. Such programs are portable, composable and have a future-proof scalability. oneTBB provides you with functions, interfaces, and classes to parallelize and scale the code. All you have to do is to use the templates.
The library differs from typical threading packages in the following ways:
- oneTBB enables you to specify logical parallelism instead of threads.
- oneTBB targets threading for performance.
- oneTBB is compatible with other threading packages.
- oneTBB emphasizes scalable, data parallel programming.
- oneTBB relies on generic programming.
Refer to oneTBB examples and samples to see how you can use the library.
oneTBB is a part of oneAPI. The current branch implements version 1.1 of oneAPI Specification.
NOTE: Threading Building Blocks (TBB) is now called oneAPI Threading Building Blocks (oneTBB) to highlight that the tool is a part of the oneAPI ecosystem.
Here are Release Notes and System Requirements.
- oneTBB Specification
- oneTBB Developer Guide and Reference
- Migrating from TBB to oneTBB
- README for the CMake build system
- oneTBB Testing Approach
- Basic support for the Bazel build system
- oneTBB Discussions
See Installation from Sources to learn how to install oneTBB.
Please report issues and suggestions via GitHub issues. See our documentation to learn how to work with them.
We welcome community contributions, so check our Contributing Guidelines to learn more.
oneAPI Threading Building Blocks is licensed under Apache License, Version 2.0. By its terms, contributions submitted to the project are also done under that license.
* All names and brands may be claimed as the property of others.