Intel
® 
Threading Building Blocks 2.1
PrintEmail to a friendSupportNewsletterRSSDigg thisdel.icio.us
Product InformationEvaluation CenterSupport Resource

Free Evaluation ›

Free Non-Commercial Download ›

Buy Product ›

Print this

Intel® Threading Building Blocks is also available open source.


 Intel TBB wins the InfoWorld BOSSIE award that celebrates the best products that open source has to offer!
Learn more
Overview


Intel® Threading Building Blocks






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. Use Intel TBB to implement task-based parallel applications and enhance developer productivity for scalable software on multi-core platforms. Intel TBB is the most efficient way to implement parallel applications and unleash multi-core platform performance compared with other threading methods like native threads and thread wrappers.


Productivity: Improves developer productivity by using task-based abstractions that make it easier to get scalable and reliable parallel applications with less lines of code (see figure 2). Task-based algorithms, containers and synchronization primitives simplify parallel application development.

Future proof applications: 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 locality and maximize parallel performance.

Portability: Expand customer base by using a production ready, open solution for parallelism that is available on a broad range of platforms. Available as a commercial and open source project, Intel TBB is coded in C++ and available on a multitude of platforms to provide a cross-platform solution for parallelism. Intel TBB is available as a standalone product or with the Intel® Compiler Professional Editions  for a more complete and cost-effective solution.

Intel® Threading Building Blocks Flash Demo
ViewDownload

Product Brief [PDF 927KB]

 

 

Intel® Threading Building Blocks

Features
This section graphically highlights the key benefits of Intel TBB. For a more comprehensive description of the features, click on the Features & Benefits button below to visit the open source site.

Features and Benefits

Intel TBB offers comprehensive, abstracted templates, containers and classes for parallelism. Version 2.1 expands usage models and improves performance and usability. Figure 1 highlights the major functional groups within Intel TBB 2.1. Improved and new capabilities are highlighted in yellow. Be sure to go to the New in This Release section for a more detailed description of the new capabilities within Intel TBB 2.1.


Figure 1
Figure 1: Intel TBB offers comprehensive, abstracted templates, containers and classes for parallelism. Version 2.1 expands usage models and improves performance and usability.


Intel TBB lets developers focus on adding value to their application instead of thread management. Figure 2 highlights a dramatically simpler multi-thread implementation with Intel TBB versus native threads. Intel TBB utilizes robust functions that reduce threading errors like deadlock and race conditions.


Figure 2

Figure 2: Side-by-side comparison of equivalent Windows* thread functionality that requires significantly more code to make a 2D ray tracing program, Tacheon, correctly threaded. Linux* and Mac OS* X developers can expect similar results.


Figure 3
Figure 3. Excellent scalability and improved performance using Intel TBB versus a serial implementation. Linux and Mac OS X developers can expect similar results.
New in this Release
Intel TBB 2.1 offers considerable improvements over version 2.0 through pivotal functionality, performance, and usability enhancements.

Do more: Intel TBB 2.1 enables new use cases by allowing developers to create threads that do not interfere with working tasks. It now has the ability to handle blocking tasks that maximizes processor utilization while handling all the mapping of tasks and tbb_threads to raw threads. Now Intel TBB can be applied to cross-platform applications that need the benefit of threading in both computational and interfacing components. Use Intel TBB 2.1 to work with GUIs, AI, I/O operations, and network events without blocking ongoing computation being done by other active tasks.

Do it faster: Intel TBB 2.1 has significantly improved performance on workloads which benefit from static scheduling. Intel TBB has an easy to use affinity mechanism that combines the performance advantage of static scheduling while offering the flexibility of dynamic scheduling. Now the Intel TBB work-stealing task scheduler more efficiently prioritizes work to reduce unnecessary task stealing. Use Intel TBB to abstract from thread maintenance and be assured of great performance independent of the workload on which your algorithm works.

Figure 4
Figure 4. Benchmarks highlight how the auto and task affinity scheduling available in version 2.1 can significantly improve performance over simple task scheduling that was the only choice in the previous version. Developers get performance benefits with minimal or no code changes because of the continued improvements in the library.

Do it easier: Intel TBB 2.1 makes it easier to use in Microsoft Visual Studio* by offering a compile configuration plug-in. Now Intel TBB makes it simple to configure different compilation variables for multiple development phases including debug and production.

For a more comprehensive description of Intel TBB 2.1 features, click on the New in This Release button below to visit the open source site.

New in This Release
System Requirements and Compatibility
Intel TBB is cross-platform (Windows*, Linux*, and Mac OS* X), supports 32-bit and 64-bit applications and works with Intel, Microsoft and GNU compilers. Intel TBB is specifically designed to work in concert with other threading technologies, such as Win32*, POSIX*, and OpenMP* threads, providing a high degree of design and development flexibility. The templates implemented in Intel TBB rely on generic programming in order to provide high-speed and flexible algorithms with very few implementation constraints.

Intel TBB is compatible with Intel® Thread CheckerIntel® Thread Profiler, and the Intel® Compilers, to enable the rapid implementation of high-performance threads in applications.

Binary distributions, including commercial distributions, are validated and officially supported for the hardware, software, operating systems and compilers listed below.

Hardware - Recommended
• Microsoft Windows*: Intel® Core™ 2 Duo processor or Intel® Xeon® processor or higher
• Linux*: Intel® Core™ 2 Duo processor or Intel® Xeon® processor or Intel® Itanium® processor or higher
• Mac OS* X: Intel® Core™ 2 Duo processor or higher

Hardware – Supported
• Intel® Pentium® 4 processor family
• Intel® Pentium® D processor family
• Intel® Xeon® processor family
• Intel® Core™ processor family
• Intel® Core™ 2 processor family
• Intel® Itanium® processor family (Linux* systems only)
• Non Intel® processors compatible with the above processors

Software - Minimum Requirements
• Supported operating system (see below)
• Supported compiler (see below)
• Xcode* tool suite 2.4.1 or higher (Mac OS* X systems only)
• Microsoft* Internet Explorer* 6.0, or other compatible web browser
• Adobe* Reader* 6.0 or higher

Software – Recommended
• Intel® C++ Compiler 10.0 or higher
• Intel® Thread Checker 3.1 or higher
• Intel® Thread Profiler 3.1 or higher

Software - Supported Operating Systems

Windows
• Microsoft* Windows* XP Professional
• Microsoft* Windows Server* 2003
• Microsoft* Windows Vista*

Linux
• Red Hat* Enterprise Linux* 3, 4, 5 (when using Red Hat* Enterprise Linux* 4 with Intel® Itanium® processors, operating system Update 2 or higher is recommended)
• Red Hat* Fedora* Core 5, Core 6, 7, 8 (not with Intel® Itanium® processors)
• Asianux* 3.0 • Debian* GNU/Linux* 4.0 • Ubuntu* 7.04, 7.10
• SuSE* Linux* Enterprise Server (SLES) 9, 10 • SGI* Propack* 4.0 (with Intel® Itanium® processors only) • SGI* Propack* 5.0 (not with IA-32 architecture processors)
• Turbolinux* GreatTurbo Enterprise Server 10 SP1, Turbolinux* 11 (not with Intel® Itanium® processors)

Mac OS X
• Mac OS X 10.4.9 or higher

Software - Supported Compilers

Windows
• Microsoft* Visual C++* 7.1 (Microsoft Visual Studio* .NET 2003, Windows* systems only)
• Microsoft Visual C++ 8.0 (Microsoft Visual Studio 2005, Windows systems only)
• Microsoft Visual C++ 9.0 (Microsoft Visual Studio 2008, Windows systems only)
• Intel® C++ Compiler 10.0 or higher

Linux
• For each supported Linux* operating system, the standard gcc version provided with that operating system is supported, including: 3.2, 3.3, 3.4, 4.0, 4.1

Mac OS X
• For each supported Mac OS* X operating system, the standard gcc version provided with that operating system is supported, including: 4.0.1 (Xcode* tool suite 2.4.1 or higher)

Technical Support
With the purchase of Intel TBB, you will receive one year of technical support and product updates from Intel® Premier Support, our interactive issue management and communication web site. This premium support service allows you to submit questions, download product updates, and access technical notes, application notes, and other documentation. For more information, visit the Intel Registration Center.

Which Intel TBB license is right for your needs?

Intel TBB is available commercially as a binary distribution, and in open source in both source and binary forms. If you need commercial support services you should purchase either a standalone commercial license or take advantage of the considerable value in purchasing the Intel® Compiler Professional Edition (Intel® Software Development Products – Product Suites). If your legal counsel is comfortable with your use of software under the Intel TBB open source license and you do not require commercial support services, please download the latest version of open source Intel TBB (http://threadingbuildingblocks.org ). If you require commercial support services for platforms not supported by Intel TBB please contact us.

When built from source, Intel TBB is intended to be highly portable and so supports a wide variety of operating systems and platforms. Binary distributions, including commercial distributions, are validated and officially supported for the hardware, software, operating systems and compilers listed here.



Intel® Software
Network
Intel® Software Network
  • It’s free and easy to become a member, so join today!