------------------------------------------------------------------------
Intel(R) Threading Building Blocks - Release Notes
		  Version 4.2
------------------------------------------------------------------------


System Requirements
-------------------

Intel(R) Threading Building Blocks (Intel(R) TBB) is available
commercially (see http://software.intel.com/en-us/intel-tbb) as a
binary distribution, and in open source, in both source and binary
forms (see http://threadingbuildingblocks.org).

When built from source, Intel(R) TBB is intended to be highly portable
and so supports a wide variety of operating systems and platforms (see
http://threadingbuildingblocks.org for more details).

Binary distributions, including commercial distributions, are validated
and officially supported for the hardware, software, operating systems
and compilers listed here.

Hardware - Recommended

    Microsoft* Windows* Systems
	Intel(R) Core(TM) 2 Duo processor or Intel(R) Xeon(R) processor
	    or higher
    Linux* Systems
	Intel(R) Core(TM) 2 Duo processor or Intel(R) Xeon(R) processor
	    or higher
	Intel(R) Xeon Phi(TM) coprocessor
    OS X* Systems
	Intel(R) Core(TM) 2 Duo processor or higher

Hardware - Supported

    Intel(R) Pentium(R) 4 processor family and higher
    Intel(R) Xeon Phi(TM) coprocessor
    Non Intel(R) processors compatible with the above processors

Software - Minimum Requirements

    Supported operating system (see below)
    Supported compiler (see below)

Software - Recommended

    Intel(R) Parallel Studio XE 2011 and higher
    Intel(R) Parallel Studio 2011 and higher

Software - Supported Operating Systems

    Systems with Microsoft* Windows* operating systems
	Microsoft* Windows* 8
	Microsoft* Windows* 7 SP1
	Microsoft* Windows* Server 2012
	Microsoft* Windows* Server 2008 SP2
	Microsoft* Windows* Server 2008 R2 SP1
	Microsoft* Windows* XP Professional SP3
    Systems with Linux* operating systems
	Red Hat* Enterprise Linux* 5, 6
	Fedora* 18, 19
	Debian* 6.0, 7
	Ubuntu* 12.04, 13.04
	SuSE* Linux* Enterprise Server 10, 11SP2
	Intel(R) Cluster Ready
    Systems with OS X* operating systems
	OS X* 10.8 or higher

Software - Supported Compilers

    Intel(R) C++ Composer XE 2011 SP1 and higher
    Microsoft* Visual C++ 11.0 (Microsoft* Visual Studio* 2012,
	Windows* OS only)
    Microsoft* Visual C++ 10.0 (Microsoft* Visual Studio* 2010,
	Windows* OS only)
    Microsoft* Visual C++ 9.0 (Microsoft* Visual Studio* 2008,
	Windows* OS only)
    For each supported Linux* operating system, the standard gcc
	version provided with that operating system is supported,
	including gcc 4.1 through 4.7
    Xcode* 4.4.1 and higher and command line tools (OS X* only)


Known Issues
------------

Please note the following with respect to this particular release of
Intel(R) Threading Building Blocks.

Library Issues
    - If Intel TBB is used together with Intel C++ Compiler 12.1 and 
	the standard C++ library from GCC 4.4, compilation in C++11 mode 
	(-std=c++0x) may fail with an error saying 'namespace "std" has 
	no member "exception_ptr"'. To overcome the problem, include an 
	Intel TBB header (e.g. tbb_stddef.h) before any standard 
	library headers.

    - If an application is built for Microsoft* Windows* XP Professional
	or similar the _WIN32_WINNT macro must be set manually to 0x0501
	in order to limit the usage of modern API that is available on 
	newer operating systems.

    - If an application uses static version of MSVCRT libraries or uses
	Intel TBB DLL built with static MSVCRT (vc_mt variant), and throws
	an exception from a functor passed to task_group::run_and_wait(),
	the exception will not be intercepted by Intel TBB and will not result
	in cancellation of the task_group. For a workaround, catch the
	exception in the functor and explicitly cancel the task_group.

    - If an application uses debug version of Intel TBB DLL built with static 
	MSVCRT (vc_mt variant), Microsoft* Visual C++ debug library 10.0 
	(msvcp100d.dll) is required to be available on the system to run 
	an application.

    - If you are using Intel(R) Threading Building Blocks and OpenMP*
	constructs mixed together in rapid succession in the same
	program, and you are using Intel(R) compilers for your OpenMP*
	code, set KMP_BLOCKTIME to a small value (e.g., 20 milliseconds)
	to improve performance.  This setting can also be made within
	your OpenMP* code via the kmp_set_blocktime() library call.  See
	the Intel(R) compiler OpenMP* documentation for more details on
	KMP_BLOCKTIME and kmp_set_blocktime().

    - In general, non-debug ("release") builds of applications or
	examples should link against the non-debug versions of the
	Intel(R) Threading Building Blocks libraries, and debug builds
	should link against the debug versions of these libraries.  On
	Windows* OS, compile with /MD and use Intel(R) Threading
	Building Blocks release libraries, or compile with /MDd and use
	debug libraries; not doing so may cause run-time failures.  See
	the Tutorial in the product "doc" sub-directory for more details
	on debug vs. release libraries.
    
    - If open source verion installed to the system folders like /usr/lib64
	on Linux OS examples may fail to link because sometimes gcc
	searches for folders in the different order than expected.
	-L command line	linker option needs to be used to set the right
	location. This does not affect a program execution.
    
------------------------------------------------------------------------
Copyright (C) 2005-2013 Intel Corporation.  All Rights Reserved.

Intel, Xeon and Pentium are registered trademarks or trademarks of
Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.

Third Party and Open Source Licenses

Content of some examples or binaries may be covered by various open-source 
licenses. See the index.html file in each respective folder for details.
