インテル® スレッディング・ビルディング・ブロック (インテル® TBB) には、バージョンおよびランタイム情報を取得するマクロ、環境変数、および関数があります。
ヘッダー tbb/tbb_stddef.h は、次に示すようにバージョンに関するマクロを定義します。これらのマクロは再定義すべきではありません。
マクロ |
値の説明 |
---|---|
TBB_INTERFACE_VERSION |
現在のインターフェイスのバージョン。値は、xyyy 形式の 10 進数です。ここで、x はメジャーバージョン番号、y はマイナーバージョン番号です。 |
TBB_INTERFACE_VERSION_MAJOR |
TBB_INTERFACE_VERSION/1000; つまり、メジャーバージョン番号。 |
TBB_COMPATIBLE_INTERFACE_VERSION |
サポートされている最も古いメジャー・インターフェイス・バージョン。 |
TBB_VERSION 環境変数を 1 に設定すると、ライブラリーは stderr の情報を出力します。各行は、“TBB: tag value” 形式です。tag と value は次の説明のとおりです。
tag |
値の説明 |
---|---|
Version |
インテル® TBB 製品バージョン番号。 |
INTERFACE_VERSION |
ライブラリーがコンパイルされたときの TBB_INTERFACE_VERSION マクロの値。 |
BUILD_... |
ライブラリーがビルドされたマシンの構成に関するさまざまな情報。 |
TBB_USE_ASSERT |
TBB_USE_ASSERT マクロの設定。 |
DO_ITT_NOTIFY |
ライブラリーがインテル® Parallel Studio XE およびインテルのスレッド化ツール向けにインストルメンテーションを有効にできる場合は 1、その他の場合は 0 または undefined。 |
ITT |
ライブラリーがインテル® Parallel Studio XE およびインテルのスレッド化ツール向けにインストルメンテーションを有効にした場合は yes、その他の場合は no。通常、プログラムがインテル® Parallel Studio XE またはインテルのスレッド化ツールの制御の下に実行されている場合のみ yes になります。 |
ALLOCATOR |
tbb::tbb_allocator のアロケーター。インテル® TBB の malloc ライブラリーがロードされた場合は scalable_malloc。その他の場合は malloc。 |
この出力は実装固有であり、変更される場合があります。
概要
ランタイムにロードされたインテル® TBB ライブラリーのインターフェイス・バージョンを返す関数。
extern “C” int TBB_runtime_interface_version();
#include "tbb/tbb_stddef.h"
TBB_runtime_interface_version() が返す値は、コンパイル時に取得された TBB_INTERFACE_VERSION と異なる場合があります。これを使用して、アプリケーションが、互換性のあるインテル® TBB ヘッダーのバージョンでコンパイルされているかどうかを識別できます。
一般に、ランタイム値 TBB_runtime_interface_version() は、コンパイル時の値 TBB_INTERFACE_VERSION 以上でなければなりません。そうでないと、アプリケーションは、ランタイムにすべてのシンボルを解決できないことがあります。