What's New in the 2019 Edition
- Parallel Standard Template Library (Parallel STL) C++17 generic parallel algorithms implementation
- Expanded support for Android*, macOS*, Windows*, and Linux*.
- Python* language support for conda* distribution.
- New capabilities in Flow Graph and Intel® Vtune™ Amplifier improve concurrency and heterogeneity, including reduced task scheduling overhead, default OpenCL™ platform customization, and a user event-tracing API.
|opencl_node class||Use with any graph object. Includes all devices from first available OpenCL™ platform.|
|blocked_rangeNd class||Optimize generic C++11 multidimensional arrays..|
|lightweight policy||Reduced task scheduling overhead in Flow Graph.|
|Latest and future Intel® architecture support||Supports latest Intel architecture. Future-proof with the next generation.|
Scalability with Future-Proofing
Threading Building Blocks (TBB) makes parallel performance and scalability easily accessible to software developers who are writing loop- and task-based applications. You can build robust applications that abstract platform details and threading mechanisms while achieving performance that scales with increasing core count. TBB yields linear scaling in these example applications.
Rich Feature Set for Parallelism
TBB includes a rich set of components for threading performance and productivity.
Parallel Algorithms and Data Structures
Generic Parallel Algorithms
An efficient, scalable way to exploit the power of multicore without having to start from scratch.
A set of classes to express parallelism as a graph of compute dependencies or data flows.
Concurrent access and a scalable alternative to containers that are externally locked for thread safety.
Memory Allocation and Task Scheduling
Sophisticated work scheduling engine that empowers parallel algorithms and the flow graph.
Scalable memory manager and false-sharing free allocators
Threads and Synchronization
Atomic operations, a variety of mutexes with different properties, and condition variables.
Timers and Exceptions
Thread-safe timers and exception classes.
Operating system API wrappers.
Thread Local Storage
Efficient implementation for an unlimited number of thread-local variables.
Conditional Numerical Reproducibility
Ensure deterministic associativity for floating-point arithmetic results with the new TBB template function parallel_deterministic_reduce.
Support for C++11 Lambda Expressions
TBB can be used with C++11 compilers and supports lambda expressions. For developers using parallel algorithms, lambda expressions reduce the time and code needed by removing the requirement for separate objects or classes.
Select the Right TBB License
- A commercial binary distribution for customers who may require commercial support services.
Attractive pricing available for student and classroom usage.
- The open source distribution can be used under an Apache* 2.0 license. It allows support for additional operating systems and hardware platforms. Both source and binary forms are available for download.
- A custom license is available for modifying or distributing the commercial source code of TBB. Contact your Intel representative for more information.
Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more complete information, visit www.intel.com/benchmarks.