Intel has open-sourcing their cross-platform Thread Building Blocks 2.0 (TBB) template library. This is considered as Intel's largest open-source commitment to date. TBB is a popular software C++ template library that simplifies the development of software applications running in parallel on multicore computer. From the project page:
Intel Threading Building Blocks (TBB) offers a rich and complete approach to expressing parallelism in a C++ program. It is a library that helps you leverage multi-core processor performance without having to be a threading expert. Threading Building Blocks is not just a threads-replacement library. It represents a higher-level, task-based parallelism that abstracts platform details and threading mechanism for performance and scalability.
For developers, the clear benefits of Threading Building Blocks are:
1. TBB significantly reduces the number of lines of code required to develop multithreaded applications;
2. TBB significantly reduces the programming complexity for developing multithreaded applications (by abstracting many details of thread management);
3. TBB's task manager automatically analyzes the system the software is running on, chooses the optimal number of threads, and performs load balancing that spreads out the work evenly across all processor cores;
4. As a result, TBB threaded applications automatically scale to fully utilize all available processing cores on whatever computer they run on – including future systems that will have many more cores than are available (or affordable) today.
Download Intel Threading Building Blocks
- Threading Building Blocks is available at official site.