インテル® スレッディング・ビルディング・ブロック (インテル® TBB) を使用した並列化

同カテゴリーの次の記事

インテル® ソフトウェア開発製品テクニカルガイド

この記事は、インテル® ソフトウェア・サイトに掲載されている「Parallelization Using Intel® Threading Building Blocks (Intel® TBB)」の日本語参考訳です。


はじめに

インテル® Composer XE 2013 Linux* 版には、インテル® Xeon Phi™ コプロセッサーに対応したインテル® スレッディング・ビルディング・ブロック (インテル® TBB) ライブラリーが含まれています。インテル® TBB は、アプリケーションの並列化に利用できる多くの選択肢の 1 つです。インテル® TBB は、C++ テンプレート・ライブラリーによる並列処理 (スレッド化) の実装でよく使用されます。

インテル® Xeon Phi™ コプロセッサーにおけるインテル® TBB の使用に関する詳細はここでは説明しません。コンパイラーに含まれるドキュメントを参照してください。ドキュメントはオンラインでも提供されています。

インテル® TBB について

インテル® TBB は、移植性とスケーラビリティーに優れた並列アプリケーションの開発を支援する、幅広く使用されている C++ テンプレート・ライブラリーです。インテル® TBB を使用することで、優れたパフォーマンスを達成できるようプラットフォームの詳細やスレッド化のメカニズムが抽象化され、強固なタスクベースの並列アプリケーションを容易に開発することができます。

インテル® TBB は、テンプレート・ライブラリーに詳しい C++ プログラマーが並列化を行う場合の理想的な選択肢です。

インテル® TBB の特長:

  • 生産性と信頼性を強化 – インテル® TBB は、より少ないコード行で並列アプリケーションのスケーラビリティーと信頼性を高める抽象化されたタスクを提供します。
  • 将来にわたってスケーラブル – 抽象化されたタスクを使用することにより、プロセッサーのコア数の増加に伴ってアプリケーションのパフォーマンスが自動的に向上します。
  • 包括的 – インテル® TBB は、並列コードを実装する際に必要となる強固なコンポーネント群を提供します。

インテル® TBB Web ポータル: ビデオ、サンプル、ケーススタディー、技術解説、ブログ、ユーザーフォーラムにアクセスできます。http://software.intel.com/en-us/intel-tbb/ (英語)

インテル® C++ Composer XE 2013 には、インテル® TBB のドキュメント・ライブラリーが含まれています。『インテル® C++ Composer XE 2013 Linux* 版入門』を開いて、「インテル® スレッディング・ビルディング・ブロック (インテル® TBB) のドキュメント」リンクを探します。オンラインのドキュメントに直接アクセスすることもできます。

インテル® TBB のドキュメントは http://software.intel.com/en-us/articles/intel-threading-building-blocks-documentation (英語) から入手できます。リリースノート、入門ガイド、チュートリアル、その他のドキュメントも掲載されています。

まとめ

インテル® Composer XE 2013 Linux* 版には、インテル® TBB が含まれています。インテル® TBB は、テンプレート・ライブラリーに詳しい C++ プログラマー向けの理想的な並列化モデルです。

次のステップ

この記事は、「Programming and Compiling for Intel® Many Integrated Core Architecture」の一部「Parallelization Using Intel® Threading Building Blocks (Intel® TBB)」の翻訳です。インテル® Xeon Phi™ コプロセッサー上にアプリケーションを移植し、チューニングを行うには、各リンクのトピックを参照してください。アプリケーションのパフォーマンスを最大限に引き出すために必要なステップを紹介しています。

「効率良い並列化」に戻る

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事