Intel® Threading Building Blocks (Intel® TBB)
Intel® Threading Building Blocks (Intel® TBB)Close
Get advanced threading for fast, scalable parallel applications
- Parallelize computationally intensive work, delivering higher-level and simpler solutions using standard C++.
- Most feature-rich and comprehensive solution for parallel application development.
- Highly portable, composable, affordable, and approachable and also provides future-proof scalability.
- Take advantage of Priority Support―connect privately with Intel engineers for technical questions.
Parallel Programming and Heterogeneous Computing at your Fingertips with Intel® TBB
This application is a widely used C++ library for shared-memory parallel programming and heterogeneous computing (intra-node distributed memory programming). The library provides a wide range of features for parallel programming, including generic parallel algorithms, concurrent containers, a scalable memory allocator, work-stealing task scheduler, and low-level synchronization primitives. Intel TBB is a library only solution for task-based parallelism and does not require any special compiler support. It ports to multiple architectures including Intel® architectures, ARM*, and POWER*.
Intel TBB is available as part of Intel® Parallel Studio XE and Intel® System Studio tool suites, and as free stand-alone and open source versions. A purchased license includes Priority Support.
Key Benefits of Using Intel TBB
Intel TBB differs from typical threading packages, it:
- Enables you to specify logical parallelism instead of threads.
Intel TBB has a runtime library that automatically maps logical parallelism onto threads in a way that makes efficient use of processor resources, making it less tedious and more efficient.
- Targets threading for performance.
Intel TBB focuses on parallelizing computationally intensive work, delivering higher-level, simpler solutions.
- Compatible with other threading packages.
Intel TBB can coexist seamlessly with other threading packages, giving you flexibility to not touch your legacy code but still use Intel TBB for new implementations.
- Emphasizes scalable, data parallel programming.
Intel TBB emphasizes data-parallel programming, enabling multiple threads to work on different parts of a collection. Data-parallel programming scales well to larger numbers of processors by dividing the collection into smaller pieces. With data-parallel programming, program performance increases as you add processors.
- Relies on generic programming.
Generic programming writes the best possible algorithms with the fewest constraints. The C++ Standard Template Library (STL) is a good example of generic programming in which the interfaces are specified by requirements on types.
- Supports heterogeneous computing.
Intel TBB does this through the Flow Graph Designer.
What kind of applications can be multi-threaded/parallelized using Intel TBB?
Multi-threading is for applications where the problem can be broken down into tasks that can be run in parallel, or where the problem itself is massively parallel, as some mathematics or analytical problems are:
- Numeric weather prediction
- Oceanography and astrophysics
- Finite element analysis
- AI and automation
- Genetic engineering
- Seismic exploration
- Weapon research and defense
- Remote sensing applications
- Medical applications
- Energy resource exploration
Benefits of Priority Support
Paid licenses of Intel® Software Development Tools include Priority Support for one year from your date of purchase, with options to extend support at a reduced rate. Benefits include:
- Direct and private interaction with Intel engineers. Submit confidential inquiries and code samples via the online service center.
- Responsive help with your technical questions and other product needs.
- Free access to all new product updates and access to older versions.
- Learn from other experts via community product forums.
- Access to a vast library of self-help documents that build off decades of experience for creating high-performance code.
Specs at a Glance
Optimized for all compatible Intel® processors including Intel Atom®, Intel® Core™, and Intel® Xeon® processors as well as Intel® Xeon Phi™ processors.
Portability and Compatibility
Open source under Apache* license and commercial licensing available through Intel® Parallel Studio XE and Intel® System Studio. See try and buy to compare options.
Compatible with multiple compilers (compiler agnostic)
Windows*, Linux*, macOS *, and Android* (additional with open source).
For complete information, see the release notes and documentation.