Intel Threading Building Blocks (Intel TBB) is an award-winning C++ template library that abstracts threads to tasks to create reliable, portable, and scalable parallel applications. Just as the C++ Standard Template Library (STL) extends the core language, Intel TBB offers C++ users a higher level abstraction for parallelism. To implement Intel TBB, developers use familiar C++ templates and coding style, leaving low-level threading details to the library. It is also portable between architectures and operating systems. With Intel TBB, developers get the benefits of faster programming, scalable performance, and easier to maintain code.
Intel TBB uses task-based abstractions that make it easier to get scalable and reliable parallel applications with fewer lines of code. Task-based algorithms, containers, and synchronization primitives simplify parallel application development
Intel TBB provides a suite of components that help simplify and speed development of scalable, high performance parallel applications. It provides parallel algorithms, concurrent containers, task scheduling, scalable memory allocation, and synchronization primitives. In addition, the runtime library provides an optimal-size thread pool; task granularity and performance-oriented scheduling; automatic load balancing through task stealing; and cache efficiency and memory reuse
Application performance automatically improves as processor core count increases by using abstract tasks. Sophisticated task scheduler dynamically maps tasks to threads to balance the load among available cores, preserve cache locality, and maximize parallel performance
Optimized for scalable multi-core architectures including Non-Uniform Memory Access (NUMA), Intel TBB delivers higher-performing and reliable code with less effort than hand threading