Version Information

Intel® Threading Building Blocks (Intel® TBB) has macros, an environment variable, and a function that reveal version and run-time information.

Version Macros

The header tbb/tbb_stddef.h defines macros related to versioning, as described below. You should not redefine these macros.

Version Macros


Description of Value


Current interface version. The value is a decimal numeral of the form xyyy where x is the major version number and y is the minor version number.


TBB_INTERFACE_VERSION/1000; that is, the major version number.


Oldest major interface version still supported.

TBB_VERSION Environment Variable

Set the environment variable TBB_VERSION to 1 to cause the library to print information on stderr. Each line is of the form “TBB: tag value, where tag and value are described below.

Output from TBB_VERSION


Description of Value


Intel TBB product version number.


Value of macro TBB_INTERFACE_VERSION when library was compiled.


Various information about the machine configuration on which the library was built.


Setting of macro TBB_USE_ASSERT


1 if library can enable instrumentation for Intel® Parallel Studio XE analysis tools; 0 or undefined otherwise.


yes if library has enabled instrumentation for Intel Parallel Studio XE analysis tools, no otherwise. Typically yes only if the program is running under control of Intel Parallel Studio XE analysis tools.


Underlying allocator for tbb::tbb_allocator. It is scalable_malloc if the Intel TBB malloc library was successfully loaded; malloc otherwise.


This output is implementation specific and may change at any time.


For Microsoft Windows Store* applications, setting TBB_VERSION variable to 1 will have no effect due to platform limitations.

TBB_runtime_interface_version Function


Function that returns the interface version of the Intel TBB library that was loaded at runtime.


extern “C” int TBB_runtime_interface_version();


#include "tbb/tbb_stddef.h"


The value returned by TBB_runtime_interface_version() may differ from the value of TBB_INTERFACE_VERSION obtained at compile time. This can be used to identify whether an application was compiled against a compatible version of the Intel TBB headers.

In general, the run-time value TBB_runtime_interface_version() must be greater than or equal to the compile-time value of TBB_INTERFACE_VERSION. Otherwise the application may fail to resolve all symbols at run time.

For more complete information about compiler optimizations, see our Optimization Notice.