Parallelization Using Intel® Threading Building Blocks (Intel® TBB)
The Intel® Composer XE 2013 for Linux suite includes the Intel® Threading Building Blocks (Intel® TBB) library which includes support for the Intel® Xeon Phi™ coprocessor . Intel® TBB is one of many options available for you to parallelize your application. TBB is a popular form of threading parallelism implemented by a C++ template library. We do not cover details on Intel TBB use on Intel® Xeon Phi™ coprocessors in this document. This information is covered in separate documentation included with the compiler and available online.
About Intel® Threading Building Blocks
Intel® Threading Building Blocks (Intel® TBB) is a widely used C++ template library for creating scalable parallel applications. Using Intel TBB, developers can easily develop robust task-based parallel applications that abstract platform details and threading mechanisms to provide performance improvement. Who should be interested in Intel TBB? If you are a C++ programmer and confident in the use of template libraries, this is an ideal choice for parallelization. Properties of Intel TBB:
- Enhanced Productivity and Reliability - Intel TBB provides abstractions that make it easier to get scalable and reliable parallel applications with fewer lines of code
- Scalability with Future-proofing - Application performance automatically improves as processor core count increases by using abstract tasks
- Comprehensive - Intel TBB provides a set of robust components needed to implement parallel code
Open your "Getting Started" document and scroll down to find a link to "Intel® Threading Building Blocks Documentation". You can also directly access this information with your installed product. This includes a Getting Started guide, Documentation, a Class Hierarchy Documentation, Examples, and Release Notes.The Intel TBB documentation is also available at https://software.intel.com/en-us/tbb_4.2_doc.
- Choosing the Right Threading Framework - This article is a high-level comparison of Intel TBB, Intel Cilk Plus, OpenMP*, C++11 threads and Pthreads (includes code examples).
- Ready to run applications from multicore platform onto Intel® Xeon Phi™ coprocessor - This article shows the results of various implementations of Pi (using OpenMP, Intel TBB, and MPI) along with a Intel VTune analysis of code utilization during each run.
- Intel® Cluster Studio XE works on Xeon® Phi coprocessor? OpenMP*? TBB? MPI? - This document demonstrates the use of OpenMP, Intel TBB, MPI and Vtune on an Intel Xeon Phi coprocessor. Demo code included.
Intel TBB is an ideal parallelization model for the C++ programmer familar with template libraries and use.
It is essential that you read this guide from start to finish using the built-in hyperlinks to guide you along a path to a successful port and tuning of your application. The paths provided in this guide reflect the steps necessary to get best possible application performance.