Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL

Reinders, James, Ashbaugh, Ben, Brodman, James

買這商品的人也買了...

相關主題

商品描述

Learn how to accelerate C++ programs using data parallelism. This open access book enables C++ programmers to be at the forefront of this exciting and important new development that is helping to push computing to new levels. It is full of practical advice, detailed explanations, and code examples to illustrate key topics.

Data parallelism in C++ enables access to parallel resources in a modern heterogeneous system, freeing you from being locked into any particular computing device. Now a single C++ application can use any combination of devices--including GPUs, CPUs, FPGAs and AI ASICs--that are suitable to the problems at hand.

This book begins by introducing data parallelism and foundational topics for effective use of the SYCL standard from the Khronos Group and Data Parallel C++ (DPC++), the open source compiler used in this book. Later chapters cover advanced topics including error handling, hardware-specific programming, communication and synchronization, and memory model considerations.
Data Parallel C++ provides you with everything needed to use SYCL for programming heterogeneous systems.

What You'll Learn

  • Accelerate C++ programs using data-parallel programming
  • Target multiple device types (e.g. CPU, GPU, FPGA)
  • Use SYCL and SYCL compilers
  • Connect with computing's heterogeneous future via Intel's oneAPI initiative

Who This Book Is For

Those new data-parallel programming and computer programmers interested in data-parallel programming using C++.

 

商品描述(中文翻譯)

學習如何使用資料平行處理加速 C++ 程式。這本開放存取的書籍讓 C++ 程式設計師能夠成為這個令人興奮且重要的新發展的先驅者,這個新發展正在推動計算達到新的水平。書中充滿了實用的建議、詳細的解釋和程式碼範例,以說明關鍵主題。

C++ 中的資料平行處理使得現代異質系統中的平行資源可被存取,使您不再被鎖定在特定的計算設備上。現在,單一個 C++ 應用程式可以使用任何組合的設備,包括 GPU、CPU、FPGA 和 AI ASIC,以解決手頭上的問題。

本書首先介紹資料平行處理和有效使用 Khronos Group 的 SYCL 標準以及本書中使用的開源編譯器 Data Parallel C++ (DPC++) 的基礎主題。後面的章節涵蓋了高級主題,包括錯誤處理、硬體特定程式設計、通訊和同步,以及記憶體模型考量。Data Parallel C++ 提供了使用 SYCL 進行異質系統程式設計所需的一切。

您將學到什麼:
- 使用資料平行程式設計加速 C++ 程式
- 面向多種設備類型(例如 CPU、GPU、FPGA)
- 使用 SYCL 和 SYCL 編譯器
- 通過 Intel 的 oneAPI 倡議與計算的異質未來相連接

本書適合對資料平行程式設計和使用 C++ 進行資料平行程式設計感興趣的新手資料平行程式設計師和電腦程式設計師。

作者簡介

James Reinders is a consultant with more than three decades experience in Parallel Computing, and is an author/co-author/editor of nine technical books related to parallel programming. He has had the great fortune to help make key contributions to two of the world's fastest computers (#1 on Top500 list) as well as many other supercomputers, and software developer tools. James finished 10,001 days (over 27 years) at Intel in mid-2016, and now continues to write, teach, program, and do consulting in areas related to parallel computing (HPC and AI).

 

作者簡介(中文翻譯)

James Reinders是一位顧問,擁有超過三十年的並行計算經驗,並且是九本與並行程式設計相關的技術書籍的作者/合著者/編輯。他有幸參與了兩台全球最快的電腦(Top500榜單第一名)以及許多其他超級電腦和軟體開發工具的重要貢獻。James在2016年中旬結束了在Intel工作的10,001天(超過27年),現在繼續從事與並行計算(HPC和AI)相關的寫作、教學、程式設計和顧問工作。