Intel® Intel® Software Development Products for Intel® Platforms and Technologies
Intel® Threading Building Blocks 2.1
 Overview

 New in this Release  Technical Support
 Features
 System Requirements Print Print

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

Click Here


Overview
Intel® 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.
Multi-Thread Optimized 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.
Intel® Threading Building Blocks 1.0 for Windows*, Linux*, and Mac OS*

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

View Download

Product Brief [PDF 678KB]

Features
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 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 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 1
Click to Enlarge


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 1
Click to Enlarge


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 1
Click to Enlarge


Figure 4. Benchmarks highlight how the 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. 

back to top 
 

System Requirements & Compatability
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
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
Recommended
Intel® C++ Compiler 10.0 or higher
Intel® Thread Checker 3.1 or higher
Intel® Thread Profiler 3.1 or higher
back to top 
 


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

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 
 

¹ Hyper-Threading Technology requires a computer system with an Intel Pentium® 4 processor supporting Hyper-Threading Technology and a Hyper-Threading Technology enabled chipset, BIOS, and operating system. Performance will vary depending on the specific hardware and software you use. See http://www.intel.com/info/hyperthreading for more information including details on which processors support HT Technology.
Intel provides both the tools and support to enhance the performance, functionality and efficiency of software applications. Compatible with leading Windows* and Linux* development environments, Intel® Software Development Products are the fastest and easiest way to take advantage of the latest features of Intel processors. Intel Software Development Products are designed for use in the full development cycle, and include Intel® Performance Libraries, Intel® Compilers (C++, Fortran for Windows, Linux, and Mac OS* X), Intel® VTune™ Analyzer, Intel® Threading Tools and Intel® Cluster Tools.
The Intel® Premier Customer Support Web site provides expert technical support for all Intel software products, product updates and related downloads. For additional product information visit: www.intel.com/software/products.
Intel, the Intel logo, Itanium, Pentium, Intel Centrino, Intel Xeon, Intel XScale, VTune, Celeron, Intel NetBurst, and MMX are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
*Other brands and names may be claimed as the property of others. Visit our Legal Information Web site for more information.
Copyright © 2008, Intel Corporation
back to top