Version Information#

[configuration.version_information]

oneTBB has macros, an environment variable, and a function that reveal version and runtime information.

// Defined in header <oneapi/tbb/version.h>

#define ONETBB_SPEC_VERSION /*implementation-defined*/

#define TBB_VERSION_MAJOR   /*implementation-defined*/
#define TBB_VERSION_MINOR   /*implementation-defined*/
#define TBB_VERSION_STRING  /*implementation-defined*/

#define TBB_INTERFACE_VERSION_MAJOR /*implementation-defined*/
#define TBB_INTERFACE_VERSION_MINOR /*implementation-defined*/
#define TBB_INTERFACE_VERSION       /*implementation-defined*/

const char* TBB_runtime_version();
int TBB_runtime_interface_version();

Version Macros#

oneTBB defines macros related to versioning, as described below.

  • ONETBB_SPEC_VERSION macro defined to the decimal literal whose value equals to x * 100 + y, where x is the major version and y is the minor version of the latest specification of oneTBB fully supported by the implementation.

  • TBB_VERSION_MAJOR macro defined to integral value that represents major library version.

  • TBB_VERSION_MINOR macro defined to integral value that represents minor library version.

  • TBB_VERSION_STRING macro defined to the string representation of the full library version.

  • TBB_INTERFACE_VERSION macro defined to a decimal literal for the current interface version. The value of the literal equals to x * 1000 + y * 10 + z where x is the major interface version number, y is the minor interface version number, and z is a decimal digit. This macro is increased in each release.

  • TBB_INTERFACE_VERSION_MAJOR macro defined to TBB_INTERFACE_VERSION/1000, which is the major interface version number.

  • TBB_INTERFACE_VERSION_MINOR macro defined to TBB_INTERFACE_VERSION%1000/10, which is the minor interface version number.

TBB_runtime_interface_version Function#

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

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 oneTBB 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.

TBB_runtime_version Function#

Function that returns the version string of the oneTBB library that was loaded at runtime.

The value returned by TBB_runtime_version() may differ from the value of TBB_VERSION_STRING obtained at compile time.

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 provide additional library information below.

Caution

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