图书介绍

OPENCL 异构并行计算 原理、机制与优化实践2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

OPENCL 异构并行计算 原理、机制与优化实践
  • 刘文志,陈轶,吴长江著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111519348
  • 出版时间:2016
  • 标注页数:382页
  • 文件大小:47MB
  • 文件页数:398页
  • 主题词:图形软件-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

OPENCL 异构并行计算 原理、机制与优化实践PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 异构并行计算的过去、现状和未来1

1.1 单核标量处理器的困境3

1.1.1 单核标量处理器如何提高性能4

1.1.2 为什么单核标量处理器性能到达瓶颈6

1.2 多核并行计算与向量化的出现7

1.2.1 为什么会有多核7

1.2.2 为什么会有向量化7

1.2.3 如何利用多核和向量化的能力8

1.2.4 多核和向量化的难点8

1.3 异构并行计算的崛起9

1.3.1 GPGPU的理念9

1.3.2 CUDA的崛起10

1.3.3 OpenCL横空出世10

1.4 异构并行计算的未来(百花齐放)11

1.5 本章小结13

第2章 OpenCL的基本介绍14

2.1 什么是OpenCL14

2.2 OpenCL平台模型15

2.3 OpenCL执行模型15

2.3.1 上下文16

2.3.2 命令队列17

2.3.3 内核在OpenCL设备上执行18

2.4 OpenCL存储器模型19

2.4.1 存储器区域19

2.4.2 存储器对象21

2.4.3 共享虚拟存储器21

2.5 OpenCL与OpenGL22

2.6 OpenCL与CUDA23

2.7 本章小结23

第3章 进入OpenCL的世界(矢量加法)25

3.1 构建示例25

3.1.1 Windows平台26

3.1.2 Linux平台28

3.1.3 OSX平台28

3.1.4 矢量加示例29

3.2 获得OpenCL平台和设备及其属性36

3.2.1 OpenCL平台36

3.2.2 OpenCL设备40

3.3 创建上下文和命令队列51

3.3.1 创建OpenCL上下文51

3.3.2 创建命令队列56

3.4 创建程序对象和内核对象58

3.5 程序对象59

3.5.1 创建程序对象59

3.5.2 构建程序对象61

3.5.3 查询和管理程序对象66

3.6 内核对象69

3.6.1 创建内核对象69

3.6.2 设置内核参数70

3.6.3 查询和管理内核对象73

3.7 执行内核75

3.8 编写内核代码76

3.9 OpenCL错误处理78

3.10 本章小结81

第4章 OpenCLC语言82

4.1 修饰符82

4.1.1 地址空间修饰符82

4.1.2 函数修饰符86

4.1.3 对象访问修饰符88

4.2 标量数据类型88

4.3 矢量数据类型91

4.3.1 为什么要有矢量数据类型92

4.3.2 矢量数据的使用93

4.4 运算符96

4.5 工作项布局函数99

4.5.1 维度和工作项100

4.5.2 工作组101

4.6 数据拷贝操作102

4.6.1 矢量数据拷贝102

4.6.2 异步拷贝和预取104

4.7 浮点函数105

4.7.1 数学函数106

4.7.2 公共函数109

4.7.3 几何函数110

4.8 整数函数110

4.9 关系函数112

4.10 杂项矢量函数115

4.11 同步函数117

4.12 原子函数119

4.13 图像读/写函数122

4.13.1 内建图像读函数122

4.13.2 内建无采样器图像读函数126

4.13.3 内建图像写函数129

4.13.4 内建图像查询函数131

4.14 工作组函数132

4.15 管道函数134

4.15.1 内建管道读/写函数135

4.15.2 内建工作组管道读/写函数139

4.15.3 内建管道查询函数140

4.16 设备队列140

4.16.1 Blocks语法142

4.16.2 设备队列相关函数143

4.16.3 子内核存储器可见性147

4.16.4 设备队列的使用示例148

4.17 本章小结153

第5章 OpenCL存储器对象154

5.1 缓冲区154

5.1.1 分配缓冲区对象154

5.1.2 创建子缓冲区对象157

5.2 图像对象和采样器对象160

5.2.1 图像对象160

5.2.2 采样器对象166

5.2.3 图像旋转示例171

5.3 管道175

5.3.1 创建管道对象175

5.3.2 管道对象查询175

5.4 存储器对象数据传输176

5.4.1 主机与设备间数据传输176

5.4.2 存储器对象数据填充181

5.4.3 存储器对象间数据传输184

5.4.4 存储器对象映射187

5.5 共享虚拟存储器192

5.5.1 SVM缓冲操作192

5.5.2 SVM类型和特性197

5.5.3 相关示例204

5.6 存储器一致性模型208

5.6.1 存储器次序规则214

5.6.2 原子操作的存储器次序规则217

5.6.3 栅栏操作的存储器次序规则219

5.6.4 工作组函数的存储器次序规则220

5.6.5 主机端与设备端命今的存储器次序规则221

5.6.6 关于存储器次序在实际OpenCL计算设备中的实现223

5.7 本章小结230

第6章 OpenCL同步及事件机制231

6.1 主机端的OpenCL同步232

6.2 OpenCL事件机制235

6.2.1 对OpenCL事件的标记和栅栏244

6.2.2 内核程序中的同步244

6.2.3 工作组内同步245

6.3 原子操作249

6.3.1 OpenCL1.2中的原子操作249

6.3.2 OpenCL2.0中的原子操作256

6.4 局部存储器与全局存储器间的异步拷贝268

6.5 工作组间同步272

6.6 本章小结280

第7章 OpenCL与OpenGL互操作281

7.1 从一个OpenGL上下文来创建 OpenCL上下文282

7.2 OpenCL使用OpenGL共享的缓存对象283

7.3 OpenCL使用OpenGL纹理数据295

7.4 OpenCL共享OpenGL渲染缓存308

7.5 从一个OpenCL存储器对象查询OpenGL对象信息314

7.6 访问共享对象的OpenCL与OpenGL之间的同步315

7.7 本章小结320

第8章 OpenCL到主流GPU处理器的映射321

8.1 AMD家族GPU321

8.1.1 AMDCayman架构GPU321

8.1.2 AMD GCN架构的GPU326

8.2 NVIDIA CUDA兼容的GPU333

8.2.1 NVIDIA GPU架构的执行模型334

8.2.2 NVIDIA GPU的全局存储器335

8.2.3 NVIDIA GPU的局部存储器336

8.3 ARM Mali GPU架构336

8.3.1 硬件架构337

8.3.2 存储器层次337

8.3.3 OpenCL映射337

8.4 本章小结338

第9章 OpenCL计算二维卷积339

9.1 测试平台信息340

9.2 AMD X86 CPU串行实现341

9.2.1 简单实现341

9.2.2 循环展开优化实现342

9.2.3 AVX指令集优化344

9.2.4 OpenMP345

9.3 简单OpenCL实现347

9.4 使用常量存储器优化349

9.5 使用局部存储器优化351

9.6 一个工作项同时计算多个输出353

9.7 本章小结355

第10章 OpenCL计算矩阵乘法356

10.1 串行实现357

10.1.1 初次实现357

10.1.2 缓存友好的实现357

10.1.3 使用AVX指令集实现358

10.2 简单OpenCL实现359

10.3 使用局部存储器优化361

10.4 使用向量加载指令363

10.5 一个工作项同时计算多个输出365

10.6 优化流水线性能368

10.7 本章小结371

附录A OpenCL Query实例372

附录B 其他主流异构并行计算编程环境简介376

热门推荐