Data Parallel C++: Mastering Programming of Accelerated Systems Using C++ with Sycl (Paperback)
暫譯: 數據並行 C++:使用 C++ 和 SYCL 精通加速系統的程式設計 (平裝本)

Reinders, James, Ashbaugh, Ben, Brodman, James

  • 出版商: Apress
  • 出版日期: 2023-10-04
  • 售價: $1,900
  • 貴賓價: 9.5$1,805
  • 語言: 英文
  • 頁數: 635
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1484296907
  • ISBN-13: 9781484296905
  • 相關分類: C++ 程式語言
  • 立即出貨 (庫存=1)

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

相關主題

商品描述

"This book, now in is second edition, is the premier resource to learn SYCL 2020 and is the ONLY book you need to become part of this community." Erik Lindahl, GROMACS and Stockholm University

 

Learn how to accelerate C++ programs using data parallelism and SYCL.

This open access book enables C++ programmers to be at the forefront of this exciting and important development that is helping to push computing to new levels. This updated second edition is full of practical advice, detailed explanations, and code examples to illustrate key topics.

SYCL enables access to parallel resources in modern accelerated heterogeneous systems. Now, a single C++ application can use any combination of devices-including GPUs, CPUs, FPGAs, and ASICs-that are suitable to the problems at hand.

This book teaches data-parallel programming using C++ with SYCL and walks through everything needed to program accelerated systems. The book begins by introducing data parallelism and foundational topics for effective use of SYCL. Later chapters cover advanced topics, including error handling, hardware-specific programming, communication and synchronization, and memory model considerations.

All source code for the examples used in this book is freely available on GitHub. The examples are written in modern SYCL and are regularly updated to ensure compatibility with multiple compilers.

 

 

What You Will Learn

  • Accelerate C++ programs using data-parallel programming
  • Use SYCL and C++ compilers that support SYCL
  • Write portable code for accelerators that is vendor and device agnostic
  • Optimize code to improve performance for specific accelerators
  • Be poised to benefit as new accelerators appear from many vendors


Who This Book Is For

 

New data-parallel programming and computer programmers interested in data-parallel programming using C++

 

 

This is an open access book.

 

商品描述(中文翻譯)

「這本書現在已經是第二版,是學習 SYCL 2020 的首要資源,也是您成為這個社群一部分所需的唯一書籍。」 - Erik Lindahl, GROMACS 和斯德哥爾摩大學

學習如何使用資料平行性和 SYCL 加速 C++ 程式。

這本開放存取的書籍使 C++ 程式設計師能夠站在這一激動人心且重要的發展前沿,這一發展正在幫助計算推向新的高度。這本更新的第二版充滿了實用建議、詳細解釋和代碼範例,以說明關鍵主題。

SYCL 使得在現代加速異構系統中訪問平行資源成為可能。現在,單一的 C++ 應用程式可以使用任何組合的設備,包括適合當前問題的 GPU、CPU、FPGA 和 ASIC。

這本書教授如何使用 C++ 和 SYCL 進行資料平行編程,並詳細介紹了編程加速系統所需的一切。書籍開始時介紹資料平行性和有效使用 SYCL 的基礎主題。後面的章節涵蓋了進階主題,包括錯誤處理、硬體特定編程、通信與同步,以及記憶體模型考量。

本書中使用的所有範例源代碼均可在 GitHub 上免費獲得。這些範例使用現代 SYCL 編寫,並定期更新以確保與多個編譯器的相容性。

您將學到什麼


  • 使用資料平行編程加速 C++ 程式

  • 使用支持 SYCL 的 SYCL 和 C++ 編譯器

  • 編寫可攜式的加速器代碼,無廠商和設備限制

  • 優化代碼以提高特定加速器的性能

  • 隨著新加速器的出現,準備好受益於多個廠商的產品

本書適合誰

新手資料平行編程和對使用 C++ 進行資料平行編程感興趣的程式設計師

這是一本開放存取的書籍。

作者簡介

James Reinders is an Engineer at Intel Corporation with more than four decades of experience in parallel computing and is an author/co-author/editor of more than 10 technical books related to parallel programming. He has a passion for system optimization and teaching. He has had the great fortune to help make contributions to three of the world's fastest computers (#1 on the TOP500 list) as well as many other supercomputers and software developer tools.

Ben Ashbaugh is a Software Architect at Intel Corporation, where he has worked for over 20 years developing software drivers and compilers for Intel graphics products. For the past 10 years, he has focused on parallel programming models for general-purpose computation on graphics processors, including SYCL and the DPC++ compiler. He is active in the Khronos SYCL, OpenCL, and SPIR working groups; helping to define industry standards for parallel programming; and he has authored numerous extensions to expose unique Intel GPU features.

James Brodman is a Principal Engineer at Intel Corporation, working on runtimes and compilers for parallel programming, and he is one of the architects of DPC++. He has a PhD in Computer Science from the University of Illinois at Urbana-Champaign.

Michael Kinsner is a Principal Engineer at Intel Corporation, developing parallel programming languages and compilers for a variety of architectures. He contributes extensively to spatial architectures and programming models and is an Intel representative within The Khronos Group where he works on the SYCL and OpenCL industry standards for parallel programming. He has a PhD in Computer Engineering from McMaster University and is passionate about programming models that cross architectures while still enabling performance.

John Pennycook is a Software Enabling and Optimization Architect at Intel Corporation, focused on enabling developers to fully utilize the parallelism available in modern processors. He is experienced in optimizing and parallelizing applications from a range of scientific domains, and previously served as Intel's representative on the steering committee for the Intel eXtreme Performance User's Group (IXPUG). He has a PhD in Computer Science from the University of Warwick. His research interests are varied, but a recurring theme is the ability to achieve application "performance portability" across different hardware architectures.

Xinmin Tian is an Intel Fellow and Compiler Architect at Intel Corporation and serves as Intel's representative on OpenMP Architecture Review Board (ARB). He has been driving OpenMP offloading, vectorization, and parallelization compiler technologies for Intel architectures. His current focus is on LLVM-based OpenMP offloading, SYCL/DPC++ compiler optimizations for CPUs/GPUs, and tuning HPC/AI application performance. He has a PhD in Computer Science from Tsinghua University, holds 27 US patents, has published over 60 technical papers with over 1300+ citations of his work, and has co-authored two books that span his expertise.

 

 

作者簡介(中文翻譯)

詹姆斯·瑞德斯 (James Reinders) 是英特爾公司 (Intel Corporation) 的工程師,擁有超過四十年的平行計算經驗,並且是十多本與平行程式設計相關的技術書籍的作者、合著者或編輯。他對系統優化和教學充滿熱情。他有幸為三台世界上最快的電腦(在 TOP500 名單上排名第一)以及許多其他超級電腦和軟體開發工具做出貢獻。

本·阿什博 (Ben Ashbaugh) 是英特爾公司的軟體架構師,已在該公司工作超過 20 年,負責為英特爾圖形產品開發軟體驅動程式和編譯器。在過去的 10 年中,他專注於圖形處理器上的通用計算平行程式設計模型,包括 SYCL 和 DPC++ 編譯器。他活躍於 Khronos SYCL、OpenCL 和 SPIR 工作組,幫助定義平行程式設計的行業標準,並且撰寫了多個擴展以揭示獨特的英特爾 GPU 特性。

詹姆斯·布羅德曼 (James Brodman) 是英特爾公司的首席工程師,專注於平行程式設計的執行時和編譯器,並且是 DPC++ 的架構師之一。他擁有伊利諾伊大學香檳分校 (University of Illinois at Urbana-Champaign) 的計算機科學博士學位。

邁克爾·金斯納 (Michael Kinsner) 是英特爾公司的首席工程師,負責為各種架構開發平行程式設計語言和編譯器。他在空間架構和程式設計模型方面做出了廣泛貢獻,並且是 Khronos Group 的英特爾代表,參與平行程式設計的 SYCL 和 OpenCL 行業標準的制定。他擁有麥克馬斯特大學 (McMaster University) 的計算機工程博士學位,對跨架構的程式設計模型充滿熱情,同時仍能實現性能。

約翰·佩尼庫克 (John Pennycook) 是英特爾公司的軟體啟用與優化架構師,專注於使開發者能夠充分利用現代處理器中的平行性。他在優化和平行化來自各種科學領域的應用方面擁有豐富經驗,並曾擔任英特爾在英特爾極限性能用戶組 (Intel eXtreme Performance User's Group, IXPUG) 指導委員會的代表。他擁有華威大學 (University of Warwick) 的計算機科學博士學位。他的研究興趣多樣,但一個重複的主題是實現應用程式在不同硬體架構之間的「性能可攜性」。

田新敏 (Xinmin Tian) 是英特爾公司的英特爾研究員 (Intel Fellow) 和編譯器架構師,並擔任英特爾在 OpenMP 架構審查委員會 (Architecture Review Board, ARB) 的代表。他一直在推動英特爾架構的 OpenMP 卸載、向量化和平行化編譯器技術。他目前的重點是基於 LLVM 的 OpenMP 卸載、針對 CPU/GPU 的 SYCL/DPC++ 編譯器優化,以及調整 HPC/AI 應用程式性能。他擁有清華大學 (Tsinghua University) 的計算機科學博士學位,持有 27 項美國專利,發表了超過 60 篇技術論文,並且他的工作被引用超過 1300 次,還合著了兩本涵蓋他專業領域的書籍。