oneAPI スレッディング・ビルディング・ブロック (oneTBB) 導入ガイド#
この資料は、インテルの「Downloadable Documentation: Intel® oneAPI Toolkits and Components」 (英語) からダウンロードした『Intel® oneAPI Threading Building Blocks』 (onetbb_docs_2025.2.zip) の「Get Started with oneAPI Threading Building Blocks (oneTBB)」 (documentation\en\onetbb\get_started_guide\) を iSUS で翻訳した日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。
本ドキュメントはレイアウト調整および校閲を行っておりません。誤字脱字、製品名や用語の表記、レイアウト等の不具合が含まれる可能性があることを予めご了承ください。
oneTBB 導入ガイドには、oneTBB の使用を開始するのに必要な情報が記載されています。これは、並列プログラミングの新規ユーザーや、コードのパフォーマンスを向上させたい経験豊富な開発者にとって役立ちます。
C++ プログラミングの基本的な知識と、並列プログラミングの概念に関するある程度の経験があることが推奨されます。
oneAPI スレッディング・ビルディング・ブロック (oneTBB) は、タスクを使用する C++ コード向けのランタイムベースの並列プログラミング・モデルです。テンプレート・ベースのランタイム・ライブラリーを使用すると、マルチコア・プロセッサーの潜在的なパフォーマンスを活用できます。
oneTBB により、計算を並列実行タスクに分割することで、並列プログラミングを簡素化できます。単一のプロセス内で、タスクをスレッドにマッピングすることで並列処理が実行されます。スレッドは、同じまたは異なる命令セットを同時に実行可能なオペレーティング・システムのメカニズムです。スレッドを使用すると、プログラムの動作が高速化され、効率が向上します。
ここでは、スレッドによるタスクの実行例の 1 つを確認します。
oneTBB を使用して、次の特徴を備えたスケーラブルなアプリケーションを記述できます。
スレッドの代わりに論理的な並列構造を指定します。
データ並列プログラミングを重視します。
並行コレクションと並列アルゴリズムを活用します。
oneTBB はネストされた並列処理と負荷分散をサポートします。これは、システムが効率良く処理できる以上のタスクがシステムに割り当てられた場合に発生する、システムのオーバーサブスクリプションを心配せずにライブラリーを使用できることを意味します。
oneTBB は、科学シミュレーション、ゲーム、データ分析など、さまざまな分野で使用されています。
スタンドアロン製品またはインテル® oneAPI ベース・ツールキットの一部として利用できます。
oneTBB の使用を開始する#
次の手順に従い、oneTBB を使用してプログラムを実行します。
CMake* と pkg-config ツールを使用して oneTBB をプロジェクトに統合する方法を学びます。
oneTBB サンプルを参照してください。
oneTBB の使用に役立つその他のリソースを見つけてください。