『Today’s TBB』日本語版公開!

その他インテル® oneTBB

本書は、CC-BY-NC-ND ライセンスの下、『Today’s TBB: C++ Parallel Programming with Threading Building Blocks, Second Edition』を iSUS (IA Software User Society) の編集長が翻訳した日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。


書籍の概要

このオープンアクセス書籍は、Threading Building Blocks (TBB) を習得したい C++ プログラマー向けの包括的なガイドです。TBB と並列プログラミングの 2 人の専門家によって執筆された本書は、数十年にわたる集合的な経験から得た洞察を、明快で分かりやすい方法で提供しています。

『Today’s TBB』は、まず並列プログラミングにおける主要な概念と専門用語を解説する基礎原則から始まります。次に、マルチコアシステムの力を最大限に活用するのに役立つ、並列アルゴリズム、フローグラフ、タスクグループといった TBB の主要コンポーネントを紹介します。本書は、ポータブルでスケーラブルなアプリケーションを最新の CPU 向けに作成しやすくする、TBB のより高レベルな並列処理機能に焦点を当てています。並列コンテキストにおけるメモリー管理や、データ構造の効果的な同期といった重要なトピックも十分に掘り下げられており、これらの重要な概念を包括的に理解できます。

後半の章では、キャンセル処理、例外処理、コンポーザビリティー、パフォーマンス・チューニング、そして旧バージョンの TBB から『Today’s TBB』へのレガシーコードの移行といった、より高度なトピックを深く掘り下げています。

20 年近くにわたり、TBB はプログラマーにとって非常に価値のあるツールであり続けており、この本は TBB と最新の C++ の進歩を活用して、並列プログラミング能力を向上させます。

TBBは、アクセラレーターに適さないコードのパフォーマンスを引き出すのに優れており、並列コンピューティングの領域において不可欠なツールです。CUDA、SYCL、OpenCL といったアクセラレーテッド・コンピューティング技術を扱っている場合でも、TBB を習得することで、ホスト CPU 上の並列処理を効果的にオーケストレーションでき、アムダールの法則に直面した際のパフォーマンスを最適化できます。

この本で学べること

  • スケーラブルなコードの作成: TBB を使用して、ポータブルでシンプル、かつ効率的なプログラミングを行います。
  • 並列化戦略: 負荷の高いタスクに対するベスト・プラクティスを実装します。
  • 高性能アプリケーションの開発: スケーラブルな並列プログラムを開発します。
  • モダンな C++ との互換性: TBB を C++17 以降と組み合わせて適用します。
  • コードの移行: レガシー TBB コードを更新し、C++17 と『Today’s TBB』を活用します。
  • 並列思考: コンピューター・システム全体の並列処理を有利に活用する方法をオーケストレーションします。

この本の対象読者

マルチコアシステム上の並列処理能力を活用したいと熱望している C++ プログラマー。『Today’s TBB』 は、C++ や並列処理の経験が限られている人でも利用可能で、ベスト・プラクティスとテクニックについて明確なガイダンスを提供します。経験豊富なプログラマーも、キャンセル処理、例外処理、コンポーザビリティー、パフォーマンス・チューニングといった高度なトピックに対処するための、スキルを磨く貴重な洞察を見つけるでしょう。並列プログラミングやマルチコア・プロセッサーに関する事前の経験は必須ではありませんが、多少の背景知識がある方は、本書全体を通してさらなる深みと価値を発見できるでしょう。


Copyright © 2025 by Michael J. Voss、James R. Reinders

この書籍は著作権の対象です。資料の全体または一部に関するすべての権利、具体的には翻訳、再印刷、図解の再利用、朗読、放送、マイクロフィルムまたはその他の物理的な方法での複製、および送信、情報の保存と検索、電子的翻案、コンピューター・ソフトウェア、または現在知られているまたは今後開発される類似または異なる方法による権利は、発行者に帰属します。

オープンアクセス
この書籍は、Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (http://creativecommons.org/licenses/by-nc-nd/4.0/) の条項に基づいてライセンスされています。このライセンスでは、元著者と情報源を適切に明記し、クリエイティブ・コモンズ・ライセンスへのリンクを提供し、ライセンスされた資料を変更したかどうかを示せば、あらゆるメディアや形式での非営利目的の使用、共有、配布、複製が許可されます。

このライセンスでは、この書籍またはその一部から派生した改変した資料を共有することは許可されません。

この書籍に掲載されている画像やその他の第三者の素材は、素材のクレジットラインに別途記載がない限り、本書のクリエイティブ・コモンズ・ライセンスの対象となります。資料が書籍のクリエイティブ・コモンズ・ライセンスに含まれておらず、意図する使用が法定規制で許可されていないか、許可された使用を超える場合は、著作権所有者から直接許可を得る必要があります。

本書には商標名、ロゴ、画像が使用されている場合があります。本書では、商標名、ロゴ、画像が登場するたびに商標記号を使用せず、商標を侵害する意図なく、編集上および商標所有者の利益のためにのみ、名前、ロゴ、画像を使用します。

この出版物で使用されている商号、商標、サービスマーク、および類似の用語は、明記されていない場合でも、所有権の対象であるかどうかの意見の表明として解釈されるものではありません。

Intel、インテル、Intel ロゴ、その他のインテルの名称やロゴは、Intel Corporation またはその子会社の商標です。
Khronos および Khronos Group ロゴは、アメリカ合衆国およびその他の国における Khronos Group Inc. の商標です。
OpenCL および OpenCL ロゴは、アメリカ合衆国およびその他の国における Apple Inc. の商標です。
OpenMP および OpenMP ロゴは、アメリカ合衆国およびその他の国における OpenMP Architecture Review Board の商標です。
SYCL および SYCL ロゴは、アメリカ合衆国およびその他の国における Khronos Group Inc. の商標です。

本書に記載されているアドバイスと情報は、発行日時点では真実かつ正確であると考えられていますが、著者、翻訳者、編集者、出版社は、誤りや欠落があった場合の法的責任を一切負いません。発行者は、ここに含まれる資料に関して、明示的または黙示的を問わず、いかなる保証も行いません。

タイトルとURLをコピーしました