当前位置:首页 > 工业技术
高性能计算技术丛书  OpenCL异构并行编程实战
高性能计算技术丛书  OpenCL异构并行编程实战

高性能计算技术丛书 OpenCL异构并行编程实战PDF电子书下载

工业技术

  • 电子书积分:10 积分如何计算积分?
  • 作 者:(美)雷蒙德·泰(RAYMONDTAY)著;张立浩译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2015
  • ISBN:9787111515616
  • 页数:232 页
图书介绍:本书从软件开发人员的角度进行编写,介绍OpenCL的核心概念,以及如何通过OpenCL编写并行编程。本书共10章。第1章介绍使用OpenCL的目的,第2章讨论OpenCL中的缓冲区对象以及划分数据的策略,第3章解释OpenCL提供的两种常规数据类型,以及如何使用这些数据类型解决不同的问题,第4章讨论OpenCL提供的各种函数,第5章给出典型OpenCL开发的生命周期,第6章讨论如何开发索贝尔边缘检测滤波器,第7章讲述如何使用OpenCL实现矩阵乘法,第8章讨论如何在OpenCL中实现稀疏矩阵向量乘法,第9章介绍如何使用OpenCL开发双调排序,第10章介绍使用OpenCL开发基数排序。
《高性能计算技术丛书 OpenCL异构并行编程实战》目录

第1章 使用OpenCL 1

1.1 引言 1

1.2 查询OpenCL平台 7

1.3 查询平台上的OpenCL设备 10

1.4 查询OpenCL设备扩展 14

1.5 查询OpenCL上下文 16

1.6 查询OpenCL程序 20

1.7 创建OpenCL内核 25

1.8 创建命令队列以及对OpenCL内核排队 28

第2章 理解OpenCL数据传送与划分 32

2.1 引言 32

2.2 创建OpenCL缓冲对象 33

2.3 检索关于OpenCL缓冲对象的信息 39

2.4 创建OpenCL子缓冲对象 41

2.5 检索关于OpenCL子缓冲对象的信息 45

2.6 理解事件和事件同步 47

2.7 在存储对象之间复制数据 50

2.8 使用工作项划分数据 55

第3章 理解OpenCL数据类型 62

3.1 引言 62

3.2 初始化OpenCL标量数据类型 63

3.3 初始化OpenCL向量数据类型 65

3.4 使用OpenCL标量类型 67

3.5 理解OpenCL向量类型 69

3.6 向量和标量地址空间 80

3.7 配置OpenCL项目以启用double数据类型 83

第4章 使用OpenCL函数 87

4.1 引言 87

4.2 将向量存储到数组中 88

4.3 从数组加载向量 91

4.4 使用几何函数 94

4.5 使用整型函数 97

4.6 使用浮点函数 99

4.7 使用三角函数 101

4.8 OpenCL中的算术和舍入 104

4.9 使用OpenCL中的shuffle函数 107

4.10 使用OpenCL中的select函数 109

第5章 开发直方图OpenCL程序 112

5.1 引言 112

5.2 在C/C++中实现直方图 112

5.3 直方图的OpenCL实现 115

5.4 工作项同步 124

第6章 开发索贝尔边缘检测滤波器 126

6.1 引言 126

6.2 理解卷积理论 127

6.3 理解一维卷积 128

6.4 理解二维卷积 130

6.5 索贝尔边缘滤波器的OpenCL实现 132

6.6 理解OpenCL中的剖析 137

第7章 使用OpenCL实现矩阵乘法 140

7.1 引言 140

7.2 理解矩阵乘法 141

7.3 矩阵乘法的OpenCL实现 144

7.4 通过线程粗化获得矩阵乘法的更快速OpenCL实现 147

7.5 通过寄存器分块获得矩阵乘法的更快速OpenCL实现 150

7.6 通过矩阵乘法中的共享内存数据预取减少全局内存 152

第8章 在OpenCL中实现稀疏矩阵向量乘法 157

8.1 引言 157

8.2 使用共轭梯度方法对SpMV求解 158

8.3 理解各种SpMV数据存储格式,包括ELLPACK、ELLPACK-R、COO和CSR 162

8.4 理解如何使用ELLPACK-R格式解决SpMV问题 166

8.5 理解如何使用CSR格式解决SpMV问题 168

8.6 理解如何使用VexCL格式解决SpMV问题 176

第9章 使用OpenCL实现双调排序 179

9.1 引言 179

9.2 了解排序网络 180

9.3 了解双调排序 182

9.4 在OpenCL中开发双调排序 187

第10章 使用OpenCL实现基数排序 196

10.1 引言 196

10.2 了解基数排序 196

10.3 了解MSD和LSD基数排序 198

10.4 了解归约 200

10.5 在OpenCL中开发基数排序 207

返回顶部