简介
了解如何使用数据并行加速C++程序。这本开放的书使C++程序员能够站在这一激动人心的重要的新发展的最前沿,这有助于推动计算机进入新的水平。它充满了实用的建议、详细的解释和代码示例来说明关键主题。
C++中的数据并行性使得在现代异构系统中访问并行资源,使您免于被锁定到任何特定的计算设备中。现在,单个C++应用程序可以使用任何适合于当前问题的设备组合,包括GPU、CPU、FPGAs和AI ASICs。
本书教C++使用数据并行编程和KHRONOS组的SyCL标准,并遍历所有需要使用SyCL来编程异构系统的所有内容。本书首先介绍了数据并行性和基本主题,以有效地使用SyCL和数据并行C++(DPC++),这是本书中使用的开源编译器。后面的章节将介绍高级主题,包括错误处理、特定于硬件的编程、通信和同步以及内存模型注意事项。
你将学到:
-如何使用数据并行编程加速C++程序;
-如何针对多种设备类型(如CPU、GPU、FPGA);
-如何使用SYCL和SYCL编译器;
-如何通过Intel的oneAPI计划连接到计算的异构未来。
掌握DPC++在C++和SyCL异构系统编程中的应用
作者 James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian
内容列表
第一章导言
第2章代码执行的位置
第三章数据管理
第四章表达平行性
第五章错误处理
第六章统一共享存储器
第七章缓冲器
第8章调度内核和数据移动
第9章通信和同步
第10章定义内核
第十一章矢量
第12章设备信息
第13章实用技巧
第十四章常见的平行模式
第15章GPU的编程
第16章CPU编程
第17章FPGA编程
第十八章库
第19章记忆模型与原子
结语DPC的未来方向++
下载地址
https://www.dbooks.org/data-parallel-c-1484255747/