インテル® TBB バージョンをビルドする

インテル® スレッディング・ビルディング・ブロック (インテル® TBB) バージョンをビルドするには、インテル® TBB を使用するようにサンプル・アプリケーションを変更してから、変更したコードをコンパイルします。次に、アプリケーションを開始して、実行時間とベースラインを比較します。

  1. build_with_tbb プロジェクトをスタートアップ・プロジェクトに設定します。

  2. プロジェクト build_with_tbb で、使用するコンパイラーをインテル® C++ コンパイラーに変更します ([プロジェクト] > [Intel C++ Compiler (インテル® C++ コンパイラー)] > [Use Intel C++ (インテル® C++ を使用)])。

  3. プロジェクト build_with_tbb で、インテル® TBB 環境変数を設定します ([プロジェクト] > [プロパティ] > [構成プロパティ] > [Intel Performance Libraries (インテル® パフォーマンス・ライブラリー)] > [Intel® Threading Building Blocks (インテル® TBB)] > [Use TBB (インテル® TBB を使用する)])。設定される環境変数は、注で定義されています。

  4. プロジェクト build_with_tbb のソースファイル tachyon.tbb.cpp を開きます。

  5. 次のように、インテル® TBB ヘッダーのコメントを外して、サンプル・アプリケーションで使用されるインテル® TBB 関数を宣言します。

    #include <tbb/tbb.h>

  6. parallel_thread 関数で次の変更を行います。
    • インテル® TBB アルゴリズム (ここでは parallel for) で使用する関数オブジェクトに並列化される、ループを含むシリアル関数を変換します。関数本体を、インテル® TBB parallel for に渡される C++ ラムダ関数に移動する必要があります。
    • mboxsize の反復に依存しない値をループの外側に移動します。
    • video->next_frame の有効性チェックを削除します。
      • 並列ループの途中でループを出ることは許可されていません。
    • tachyon.tbb_solution.cpp に示す変更後のコードと比較してチェックしてみてください。
  7. Release 構成で build_with_tbb をビルドします。

ビルド後、makefile は自動でサンプルを実行します。

イメージのレンダリングにかかった時間とパフォーマンスのベースラインを比較します。