Getting Started with Intel® Threading Building Blocks (Intel® TBB)

Intel® Threading Building Blocks (Intel® TBB) is a runtime-based parallel programming model for C++ code that uses threads. It consists of a template-based runtime library to help you harness the latent performance of multicore processors. Use Intel TBB to write scalable applications that:

  • Specify logical parallel structure instead of threads
  • Emphasize data parallel programming
  • Take advantage of concurrent collections and parallel algorithms

Intel TBB is available as:

Prerequisites

After installing Intel TBB, you need to set the environment variables, this may be done as part of  an edition-level command-line, or you can set just the Intel TBB environment variables

On Windows*, run  tbbvars.bat in <install_dir>\windows\tbb\bin.

On Linux* and Mac OS X*, run  tbbvars.sh or  tbbvars.csh in <install_dir>/{linux|mac}/tbb/bin.

<install_dir> is the installation directory, by default, it is:

  • On Windows: <Program Files>\IntelSWTools\compilers_and_libraries_<version>
  • On Linux and Mac OS X*, for super-users: /opt/intel/compilers_and_libraries_<version>
                                         for ordinary users: $HOME/intel/compilers_and_libraries_<version>

Documentation and Resources

The following table lists the documentation and other resources to help you get started using  Intel® TBB.

DocumentDescription

Tutorial

Brief tutorial that uses a simple example to demonstrate how to use Intel® Threading Building Blocks (Intel® TBB) from start to finish.

Documentation

Developer Guide and Reference documentation for Intel® Threading Building Blocks

The Developer Guide section provides instructions on how to use the major features of the library in addition to a Design Patterns section that explains how to implement common parallel programming idioms using Intel® TBB.

The Developer Reference section provides detailed information on all the functions and interfaces provided by Intel® TBB. Includes information on the following topics:

  • Algorithms
  • Containers
  • Memory Allocation
  • Synchronization
  • Timing
  • Task Scheduling
Para obter informações mais completas sobre otimizações do compilador, consulte nosso aviso de otimização.