インテル® スレッディング・ビルディング・ブロック (インテル® oneTBB) は、幅広く使用されている移植性とスケーラビリティーに優れた並列アプリケーションの開発を支援する C++ ライブラリーです。
開発者がフローグラフ・アプリケーションを作成およびチューニングするのを支援します。これは、次の 2 つの方法で行われます
インテル® oneTBB によるフローグラフ・アプリケーションの実行トレースを収集し、可視化する機能 Flow Graph Designer を提供します。Flow Graph Designer により、開発者はノードの実行時間のタイムラインと相互に作用するグラフのトポロジーを検索することができ、そのグラフのノードに関する重要な統計情報を得ることができます。
インテル® oneTBB のフローグラフのダイアグラムを可視化し、将来の開発における出発点となる C++ スタブを作成します。
Flow Graph Designer ツールの詳細とダウンロードについては、 Flow Graph Designer の記事 (英語) をご覧ください。
インテル® oneTBB は単体で販売されておりません。以下製品に同梱されます。
主に以下の変更・機能が追加されました。
詳細は、リリースノートおよび インテル社公開の情報を参照ください。
パフォーマンスと生産性のための豊富なコンポーネント群を提供します。
インテル® oneTBB の新しいテンプレート関数 ‘parallel_deterministic_reduce’ による浮動小数点演算の結果の決定論性を向上。
インテル® oneTBB は、C++11 コンパイラーで利用でき、ラムダ式をサポート。並列アルゴリズムを開発するプログラマーは、ラムダ式を使用することで異なるオブジェクトやクラスの必要性を排除することができ、時間とコードサイズを削減可能。
商用バイナリー配布は、商用サポートサービスが必要な場合があります。 魅力的な価格は、学生や教室での使用に適しています。
オープンソース・ディストリビューションは、Apache 2.0 ライセンスで使用できます。 追加の OS やハードウェア・プラットフォームをサポートします。 ソース形式とバイナリ形式の両方をダウンロードできます。
インテル® oneTBB の商用ソースコードを変更または頒布する必要がある場合は、カスタム・ライセンスを使用することができます。詳細については、 お問い合わせください。
サポートされるプロセッサー |
|
---|
サポートされるオペレーティング・システム |
Windows*
Linux*
macOS*
|
---|---|
サポートされるコンパイラー |
|
既知の問題: インテル® oneAPI ツールキット 2022.1.3 およびそれ以前のバージョン、インテル® Parallel Studio XE 全バージョンでは、Microsoft* Visual Studio* 2022 はサポートされていません。Microsoft* Visual Studio* 2022 がインストールされたシステムを使用する場合、インストール、アップグレード、変更、またはアンインストールの際に、インテル® oneAPI ツールキットまたはインテル® Parallel Studio XE のインストーラーが動作しないことがあります。詳細は、こちらの記事をご確認ください。
2024年11月6日、インテル社よりリリースが発表されたインテル® oneTBB 2022 が同梱されるインテル® ソフトウェア開発ツールの最新バージョン 2025 に対応する有償サポートサービスの提供を開始します。
過去に製品をご購入いただき、現在有効なサポートサービスをお持ちのお客様は、すぐにバージョン 2022 を無料でダウンロードしてご利用いただけます。また、必要に応じて数世代前までの旧バージョンをダウンロードしてご利用いただけます。
2020年 12月 9日、インテル® oneTBB 2021 が同梱されるインテル® oneAPI 2021 の販売を開始しました。
過去に製品をご購入いただき、現在有効なサポートサービスをお持ちのお客様は、すぐにバージョン 2021 を無料でダウンロードしてご利用いただけます。
2019年 12月 18日、インテル® oneTBB 2020 が同梱されるインテル® Parallel Studio XE 2020 の販売を開始しました。
過去に製品をご購入いただき、現在有効なサポートサービスをお持ちのお客様は、すぐにバージョン 2020 を無料でダウンロードしてご利用いただけます。
2018年 9月 13日、インテル® oneTBB 2019 が同梱されるインテル® Parallel Studio XE 2019 の販売を開始しました。
過去に製品をご購入いただき、現在有効なサポートサービスをお持ちのお客様は、すぐにバージョン 2019 を無料でダウンロードしてご利用いただけます。
インテル社の方針により、2014年 8月 26日 (火) を以って、インテル® oneTBB 単体製品の新規ライセンスの販売を終息しました。
インテル
® TBB の SSR および、本製品を含むバンドル製品の新規ライセンス、SSR は継続して販売いたします。
インテル® oneTBB は、共有メモリー並列プログラミングおよびヘテロジニアス・コンピューティング (ノード内分散メモリー・プログラミング) で広く使用されている C++ ライブラリーです。ライブラリーは、汎用並列アルゴリズム、コンカレント・コンテナー、スケラーブル・メモリー・アロケーター、ワークスチール・タスク・スケジューラー、低レベル同期プリミティブを含む、並列プログラミング向けの広範な機能を提供します。インテル® TBB は、タスクベースの並列処理向けライブラリー・ソリューションであり、特別なコンパイラー・サポートは必要ありません。インテル® アーキテクチャー、ARM*、POWER* を含む、複数のアーキテクチャーで利用できます。
例えば、コース料理を調理するときにコンロの口が 1 つしかなければ、一度に 1 つの料理しか調理できません。コンロの口が 4 つあれば、一度に 4 つの料理を調理して、同時にテーブルに出すことができます。ソフトウェアの並列処理も同様です。並列処理を行うために使用される手法はいくつかあり、スレッド化はその 1 つです。目的は、可能な場所でプログラムを分割して、異なる領域をマルチコア構成の異なるプロセッサーで同時に実行できるようにすることです。その後、分割されたプログラムがすべて集められ、アプリケーションの結果が生成されます。 タスクベースの並列処理は、いくつかのワーク項目 (タスク) を並列に実行するメカニズムです。
スレッド化は一種の並列処理で、マルチプロセッサーまたはマルチコアのコンピューターで同時に実行できる部分にアプリケーションを分解するため、ソフトウェア開発者により使用される手法です。スレッド化されたアプリケーションは、1 つのオペレーティング・システムの管理の下、1 台のコンピューターの複数のコアで実行されます。
C++ は、ほかの広く利用されている言語と同様に、並列処理を表現するために設計されていません。幸いにも、C++ はテンプレートを使用して拡張可能です。開発者は、多くのコードを追加することなくスケーラブルなパフォーマンスを得られる OpenMP* の概念を気に入っていましたが、C++ のオブジェクト指向/テンプレート・ベースのプログラミング・スタイルにより適したものを必要としていました。並列コンテナーとアルゴリズムに関する開発者からの要望に応えるには、テンプレートが最適でした。STL が使用する汎用プログラミング・スタイル (パフォーマンスを損なうことなくコンポーネントを容易に構成できる) は、非常に魅力的でした。そこで、我々は、STL が C++ を拡張したのと似た方法で C++ を拡張しました。 抽象化は開発者にとって重要です。ネイティブスレッドを使用して、独自の明示的なスレッド管理を行うことは、並列処理向けのアセンブリー言語と言えます。インテル® TBB は、多くの理由により必要な抽象化です。ネイティブスレッドを使用した並列処理向けのプログラミングは、面倒で、ミスを引き起こしやすく、可搬性がありません。また、高レベルのスケーラビリティーには高度なプログラミングが求められるため、容易に達成できるものではありません。
ランタイム料やロイヤルティーを支払う必要はありません。
はい。インテル® oneTBB を使用してスレッド化されたアプリケーションは、 インテル® VTune™ Amplifier XE および インテル® Inspector で解析できます。 インテル® Parallel Studio XE 製品に含まれている インテル® Advisor を利用すると、並列処理によりパフォーマンスが大幅に向上する可能性のある領域を特定できます。
インテル® oneTBB は、、 インテル® Parallel Studio XE および インテル® System Studio の一部として提供されています。さらに、Apache* 2.0 ライセンスの下で、オープンソースとして提供されています。
インテル® oneTBB のソースコード、ドキュメント、ユーザーフォーラム、ブログ、ポッドキャスト、記事、ホワイトペーパー、サポートは、 threadingbuildingblocks.org (英語) で提供されています。
インテル® レジストレーション・センターで操作します。
操作手順やよくあるご質問、トラブルシューティングは、インテル
® レジストレーション・センター操作マニュアルを参照ください。
最新版、または旧バージョンのダウンロードは、インテル® レジストレーション・センターで行います。
詳細は以下ページを参照ください。