本書は、CC-BY ライセンスの下、『Data Parallel C++: Programming Accelerated Systems Using C++ and SYCL, Second Edition』を iSUS (IA Software User Society) の編集長が翻訳した日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。
はじめに
本書は、並列プログラミングを初めて行う読者にも適しています。また、SYCL や DPC++ コンパイラーについて知識がなくても大丈夫です。
CUDA でのプログラミングと比較すると、SYCL を用いた C++ は、NVIDIA 以外のプラットフォームへの移植性を提供し、GPU 以外のデバイスへの移植性も実現します。さらに、進化を続ける現代の C++ に緊密に連携し、その強化を図ります。C++ と SYCL は、性能を犠牲にすることなくこれらの利点をもたらします。
SYCL を使用した C++ を使用すると、特定のベンダーに縛られることなく、CPU、GPU、FPGA、および将来の処理デバイスを組み合わせた機能を活用して、アプリケーションを高速化できます。
SYCL は、加速された (異種) システムを活用するため、 C++ によるデータ並列処理の高度なサポートを追加する業界主導の Khronos 標準です。SYCL は、C++ および C++ ビルドシステムと高度な相乗効果を発揮する C++ コンパイラーのメカニズムを提供します。DPC++ は、SYCL のサポートを追加した LLVM に基づくオープンソース・コンパイラー・プロジェクトです。本書のすべての例は、DPC++ コンパイラーを含む SYCL 2020 をサポートする任意の C++ コンパイラーで動作するはずです。
C++ に精通していない C プログラマーであれば、あなたも同じような状況に陥るでしょう。本書の著者の何人かは、本書のような C++ を使用した書籍を読むことで C++ を習得したことを喜んで認めている。少しの忍耐があれば、最新の C++ プログラムを書きたいと考えている C プログラマーは、本書を読みこなせるようになるはずです。
Copyright © 2023 by Intel Corporation
この書籍は著作権の対象です。資料の全体または一部に関するすべての権利、具体的には翻訳、再印刷、図解の再利用、朗読、放送、マイクロフィルムまたはその他の物理的な方法での複製、および送信、情報の保存と検索、電子的翻案、コンピューター・ソフトウェア、または現在知られているまたは今後開発される類似または異なる方法による権利は、発行者に帰属します。
オープンアクセス
この書籍は、Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0/) の条項に基づいてライセンスされています。このライセンスでは、元著者と情報源を適切に明記し、クリエイティブ・コモンズ・ライセンスへのリンクを提供し、ライセンスされた資料を変更したかどうかを示せば、あらゆるメディアや形式での非営利目的の使用、共有、配布、複製が許可されます。
この書籍に掲載されている画像やその他の第三者の素材は、素材のクレジットラインに別途記載がない限り、本のクリエイティブ・コモンズ・ライセンスの対象となります。資料が書籍のクリエイティブ・コモンズ・ライセンスに含まれておらず、意図する使用が法定規制で許可されていないか、許可された使用を超える場合は、著作権所有者から直接許可を得る必要があります。
本書には商標名、ロゴ、画像が使用されている場合があります。本書では、商標名、ロゴ、画像が登場するたびに商標記号を使用せず、商標を侵害する意図なく、編集上および商標所有者の利益のためにのみ、名前、ロゴ、画像を使用します。
この出版物で使用されている商号、商標、サービスマーク、および類似の用語は、明記されていない場合でも、所有権の対象であるか意見の表明として解釈されるものではありません。
Intel、インテル、Intel ロゴ、Intel Optane、および Xeon は、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。
OpenCL および OpenCL ロゴは、アメリカ合衆国およびその他の国における Apple Inc. の商標です。
OpenMP および OpenMP ロゴは、アメリカ合衆国およびその他の国における OpenMP Architecture Review Board の商標です。
SYCL、SYCL ロゴ、Khronos、および Khronos Group ロゴは、Khronos Group Inc. の商標です。
オープンソースの DPC++ コンパイラーは、公開されている Khronos SYCL 仕様に基づいています。SYCL 実装の現在の適合状況については、https://www.khronos.org/conformance/adopters/conformant-products/sycl を参照してください。
性能に関するテストに使用されるソフトウェアとワークロードは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。結果はこれらの要因によって異なります。製品の購入を検討される場合は、他の製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。詳細については、https://www.intel.com/benchmarks (英語) を参照してください。パフォーマンス結果は 2019 年 5 月 10 日現在の測定値であり、すべての公開済みセキュリティー・アップデートが適用されていない可能性があります。詳細は、システム構成を参照してください。絶対的なセキュリティーを提供できるコンピューター・システムはありません。インテル® テクノロジーの機能と利点はシステム構成によって異なり、対応するハードウェアやソフトウェア、またはサービスの有効化が必要となる場合があります。実際の性能はシステム構成によって異なります。絶対的なセキュリティーを提供できるコンピューター・システムはありません。詳細については、各システムメーカーまたは販売店にお問い合わせいただくか、http://www.intel.co.jp/ を参照してください。
本書に記載されているアドバイスと情報は、発行日時点では真実かつ正確であると考えられていますが、著者、翻訳者、編集者、出版社は、誤りや欠落があった場合の法的責任を一切負いません。発行者は、ここに含まれる資料に関して、明示的または黙示的を問わず、いかなる保証も行いません。

