<H2>Python* API for Intel® Threading Building Blocks (Intel® TBB).
</H2>
<H2>Overview</H2>
It is a preview Python* module which unlocks opportunities for additional performance in multi-threaded Python programs by enabling threading composability
between two or more thread-enabled libraries like Numpy, Scipy, Sklearn, Dask, Joblib, and etc.
<p></p>
The biggest improvement can be achieved when a task pool like the ThreadPool from the Python standard library or libraries like Dask or Joblib (used in multi-threading mode)
execute tasks calling compute-intensive functions of Numpy/Scipy/Sklearn/PyDAAL which in turn are parallelized using Intel® Math Kernel Library or/and Intel® TBB.
<p></p>
The module implements Pool class with the standard interface using Intel® TBB which can be used to replace Python's ThreadPool.
Thanks to the monkey-patching technique implemented in class Monkey, no source code change is needed in order to enable threading composability in Python programs.
<p></p>
For more information and examples, please refer to <AHREF="http://software.intel.com/en-us/blogs/2016/04/04/unleash-parallel-performance-of-python-programs">online blog</A>.
<H2>Files</H2>
<DL>
<DT><AHREF="setup.py">setup.py</A>
<DD>Standard Python setup script.
<DT><AHREF="Makefile">Makefile</A>
<DD>Makefile for building, installing, and testing. See below.
<DT><AHREF="tbb.i">tbb.i</A>
<DD>SWIG interface description file.
<DT><AHREF="tbb.src.py">tbb.src.py</A>
<DD>Python part of module implementation.
</DL>
<ANAME=build><H2>Build and install</H2></A>
Prior to building it, please set up the environment using corresponding tbbvars script, e.g. `source tbbvars.sh intel64`
<DL>
<DT><TT>make</TT>
<DD>Default build and run. Equivalent to 'make release test'.
<DT><TT>make release</TT>
<DD>Compile and link against the release version of Intel TBB runtime library. The resulting executable is left in the directory for the example.
<DT><TT>make test</TT>
<DD>Run local build of the module previously produced by one of the above commands.
<DT><TT>make install</TT>
<DD>Install module into Python.
<DT><TT>make <B>[</B>(above options or targets)<B>]</B> CXX=<B>{</B>icl, icc<B>}</B></TT>
<DD>Build and run as above, but use Intel® C++ compiler instead of default, native compilers