| Intel® Software Development Products for Intel® Platforms and Technologies | |
| Intel® Threading Building Blocks 2.0 for Windows*, Linux*, and Mac OS* X | |
![]() |
|||||||||||||||||
|
|||||||||||||||||
|
|
| Ready to use parallel algorithms: | ||||
| Select from a library of highly-efficient parallel algorithm templates, and rapidly obtain the advantages of multi-core Intel processors. | ||||
| Quickly employ commonly needed algorithms designed for parallel performance and scalability. | ||||
| Generic templates let you easily tailor these algorithms to your needs. | ||||
| Supports easy plug-in deployment into applications to deliver scalable software speed-up, optimizing for both available cores and cache locality. | ||||
| Reduce the work required to produce threaded software in many cases, by means of pre-built parallel constructs. | ||||
Figure 1 shows the ease of implementation when using Intel® Threading Building Blocks versus Windows* threads. ![]() Click to enlarge Figure 1. Side-by-side comparison of equivalent Windows* thread functionality shows dramatically simpler implementation with Intel® Threading Building Blocks versus native threads. |
||||
For a comparison of ease of implementation of Intel® Threading Building Blocks versus POSIX* threads, click here. |
||||
| Cross platform support: | ||||
| Write applications once and deploy on multiple OS's. | ||||
| Provides a single solution for Windows*, Linux*, and Mac OS* X on 32-bit and 64-bit platforms using Intel® Microsoft, and GNU compilers. | ||||
| Supports industry-leading compilers from Intel, Microsoft and GNU. | ||||
| Speeds deployment of applications on multiple multi-core platforms. | ||||
| Task based parallelism: | ||||
| Specify threading functionality in terms of logical tasks instead of physical threads. | ||||
| Lets developer focus on higher level of scalable task patterns instead of low-level thread mechanics. | ||||
| Uses proven data-decomposition abstractions that efficiently use multiple cores. | ||||
| Enables automatic load balancing. | ||||
| Efficiently supports nested parallelism, allowing parallel components to be built from other parallel components. | ||||
| Library based solution: | ||||
| Get highly optimized parallel functionality now with minimal effort. | ||||
| Your C++ application simply calls the Intel Threading Building Blocks library. | ||||
| Standard C++ - no need to rewrite code in a new language. | ||||
| Compatible with other threading packages. | ||||
| Allows unlimited distribution of the runtime libraries with your software. | ||||
| Seamlessly integrates into existing development environments. | ||||
| Highly concurrent containers: | ||||
| Optimize the processor's ability to perform simultaneous tasks. | ||||
| Simplify multithreaded application development with interfaces designed for thread-safety and high concurrency. | ||||
| Improve application quality by employing pre-tested data structures. | ||||
| Improve application performance by enabling multiple execution cores or processors to work together more efficiently. | ||||
| Automatic grainsize calculation: | ||||
| Intel® TBB can automatically calculate grainsize to control the granularity of a task in order to get good performance on multi-core processors. | ||||
| back to top
|
|
| Intel® Threading Building Blocks contains the following library components: | ||||
| Generic Parallel Algorithms | ||||
parallel_for |
||||
parallel_reduce |
||||
parallel_scan |
||||
parallel_sort |
||||
parallel_while |
||||
pipeline |
||||
Assistant Classes to Use with Algorithms |
||||
blocked_range (for use with algorithms, containers, etc.) |
||||
blocked_range2d (for use with algorithms, containers, etc.) |
||||
Thread-Safe Containers |
||||
concurrent_hash_map |
||||
concurrent_queue |
||||
concurrent_vector |
||||
Synchronization Primitives |
||||
atomic |
||||
spin_mutex |
||||
spin_rw_mutex (reader-writer spin_mutex) |
||||
queuing_mutex |
||||
queuing_rw_mutex (reader-writer queuing_mutex) |
||||
mutex |
||||
Task Scheduler |
||||
Memory Allocation |
||||
scalable_allocator |
||||
cache_aligned_allocator |
||||
aligned_space |
||||
Timing |
||||
tick_count |
||||
| back to top
|
|
The Intel Threading Building Blocks are cross-platform (Windows, Linux, and Mac OS X), support 32-bit and 64-bit applications as well as work with Intel, Microsoft, and GNU compilers. Intel Threading Building Blocks adds to the functionality of Intel® Thread Checker, Intel® Thread Profiler, and the Intel® Compilers, to enable the rapid implementation of high-performance threads in applications. |
||||
| Intel Threading Building Blocks supports the following processors:
|
||||
Intel® Pentium® 4 processor |
||||
Intel® Xeon® processor |
||||
Intel Pentium D processor |
||||
64-bit Intel Xeon processor |
||||
Intel® Core™ Solo processor |
||||
Intel Core Duo processor |
||||
Intel Core 2 Duo processor |
||||
Intel® Itanium® 2 processor (Linux* systems only) |
||||
Non Intel processors compatible with the above processors |
||||
| Intel Threading Building Blocks supports the following operating systems:
|
||||
| Microsoft Windows* Systems
|
||||
Microsoft Windows XP Professional |
||||
Microsoft Windows Server* 2003 |
||||
Microsoft Windows Vista* |
||||
| Linux* Systems
|
||||
Red Hat Enterprise Linux* 3, 4 and 5 |
||||
Red Hat Fedora* Core 4, 5 and 6 |
||||
Asianux* 2.0 |
||||
Red Flag DC Server 5.0 |
||||
Haansoft Linux* Server 2006 |
||||
Miracle Linux v4.0 |
||||
SuSE Linux Enterprise Server (SLES) 9 and 10 |
||||
SGI Propack* 4.0 (with Intel Itanium processors only) |
||||
SGI Propack 5.0 (not with IA-32 architecture processors) |
||||
Mandriva/Mandrake Linux 10.1.06 (not with Intel Itanium processors) |
||||
Turbolinux GreatTurbo* Enterprise Server 10 SP1 (not with Intel Itanium processors) |
||||
| Mac OS* X Systems
|
||||
Mac OS X 10.4.4 or higher |
||||
| Intel Threading Building Blocks supports the following compilers:
|
||||
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) |
||||
Intel® C++ Compiler 9.0 or higher (Windows and Linux systems) |
||||
Intel® C++ Compiler 9.1 or higher (Mac OS X systems) |
||||
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 |
||||
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.2.1 or higher) |
||||
| back to top
|
|
With the purchase of Intel® Software Development Products, 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. |
|||
| back to top
|
|
| Intel Threading Building Blocks supports the following operating systems: | |
| Windows | |
| Linux | |
| Mac OS X | |
| back to top
|
|||
| System Requirements for Linux Systems | |||||||||||||||||||||||||||||||||
| Hardware | |||||||||||||||||||||||||||||||||
| Minimum Requirements |
|
||||||||||||||||||||||||||||||||
| Recommended |
|
||||||||||||||||||||||||||||||||
| Software | |||||||||||||||||||||||||||||||||
| Minimum Requirements |
|
||||||||||||||||||||||||||||||||
| Recommended |
|
||||||||||||||||||||||||||||||||
| back to top
|
|||
| System Requirements for Mac OS X Systems with Intel® Processors | |||||||||
| Hardware | |||||||||
| Minimum Requirements |
|
||||||||
| Recommended |
|
||||||||
| Software | |||||||||
| Minimum Requirements |
|
||||||||
| Recommended |
|
||||||||
| 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 © 2007, Intel Corporation |
| back to top
|