Intel® Intel® Software Development Products for Intel® Platforms and Technologies

Intel® Threading Building Blocks 2.1

 Overview

 System Requirements

Print Print
 Features

 Technical Support  
 New in This Release    

Intel® Threading Building Blocks is also available for Open Source.


Overview

Intel® Threading Building Blocks 1.0 for Windows*, Linux*, and Mac OS*

 

 

 

Buy NowIntel® Threading Building Blocks 1.0 for Windows*, Linux*, and Mac OS*

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 makes 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 678KB]

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.

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
New in This Release section for a more detailed description of the new capabilities within Intel 2.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 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. 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 OSX developers can expect similar results.

Figure 3. Excellent scalability and improved performance using Intel TBB versus a serial implementation. Linux and Mac OS X developers can expect similar results.
back to top 
 

New in This Release

Intel TBB 2.1 offers considerable improvements above 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 don’t interfere with working tasks.  Now Intel TBB can be more generally applied to cross-platform applications which need the benefit of threading in both computational and interfacing components. Use Intel TBB 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.  Now Intel TBB’s work-stealing task scheduler more efficiency prioritizes work to reduce unnecessary task stealing.  Use Intel TBB to abstract from thread maintenance and be assured of great performance no matter what workload your algorithm works on.

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

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.

back to top 
 

System Requirements & 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 Checker, Intel® 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 here.

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 System
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)
back to top 
 

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 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.

back to top