Skip to content
Snippets Groups Projects
Select Git revision
  • e61facfbb372d99d904935cdb41277bdbfcaf9c2
  • master default protected
  • lifecycle
  • kru0052-master-patch-91081
  • chat
  • 20180621-revision
  • 20180621-before_revision
7 results

intel-tbb.md

Blame
  • Intel TBB

    Intel Threading Building Blocks

    Intel Threading Building Blocks (Intel TBB) is a library that supports scalable parallel programming using standard ISO C++ code. It does not require special languages or compilers.  To use the library, you specify tasks, not threads, and let the library map tasks onto threads in an efficient manner. The tasks are executed by a runtime scheduler and may be offloaded to MIC accelerator.

    Intel TBB version 4.1 is available on Anselm

        $ module load tbb

    The module sets up environment variables, required for linking and running tbb enabled applications.

    !!! Note "Note" Link the tbb library, using -ltbb

    Examples

    Number of examples, demonstrating use of TBB and its built-in scheduler is available on Anselm, in the $TBB_EXAMPLES directory.

        $ module load intel
        $ module load tbb
        $ cp -a $TBB_EXAMPLES/common $TBB_EXAMPLES/parallel_reduce /tmp/
        $ cd /tmp/parallel_reduce/primes
        $ icc -O2 -DNDEBUG -o primes.x main.cpp primes.cpp -ltbb
        $ ./primes.x

    In this example, we compile, link and run the primes example, demonstrating use of parallel task-based reduce in computation of prime numbers.

    You will need the tbb module loaded to run the tbb enabled executable. This may be avoided, by compiling library search paths into the executable.

        $ icc -O2 -o primes.x main.cpp primes.cpp -Wl,-rpath=$LIBRARY_PATH -ltbb

    Further reading

    Read more on Intel website, http://software.intel.com/sites/products/documentation/doclib/tbb_sa/help/index.htm