《GPU高性能运算之CUDA》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:张舒,禇艳利主编
  • 出 版 社:水利水电出版社
  • 出版年份:2009
  • ISBN:9787508465432
  • 页数:276 页
图书介绍:本书共分5章。第1章介绍GPU通用计算的发展历程,介绍并行计算的历史、现状以及面临的问题;第2章介绍CUDA的使用方法,帮助读者理解CUDA的编程模型、存储器模型和执行模型,掌握CUDA程序的编写方法;第3章探讨CUDA硬件架构,深入分析Tesla GPU架构与CUDA通用计算的相互作用;第4章总结CUDA的高级优化方法,对任务划分、存储器访问、指令流效率等课题进行探讨;第5章则以丰富的实例展示如何使用CUDA的强大性能解决实际问题。

第1章 GPU通用计算 1

1.1 多核计算的发展 2

1.1.1 CPU多核并行 3

1.1.2 超级计算机、集群与分布式计算 4

1.1.3 CPU+GPU异构并行 5

1.2 GPU发展简介 8

1.2.1 GPU渲染流水线 8

1.2.2 着色器模型 10

1.2.3 NVIDIA GPU发展简介 11

1.3 从GPGPU到CUDA 12

1.3.1 传统GPGPU开发 12

1.3.2 CUDA开发 13

第2章 CUDA基础 14

2.1 CUDA编程模型 14

2.1.1 主机与设备 14

2.1.2 Kernel函数的定义与调用 15

2.1.3 线程结构 16

2.1.4 硬件映射 20

2.1.5 deviceQuery示例 22

2.1.6 matrixAssign示例 26

2.2 CUDA软件体系 36

2.2.1 CUDAC语言 37

2.2.2 nvcc编译器 37

2.2.3 运行时API与驱动API 39

2.2.4 CUDA函数库 43

2.3 CUDA存储器模型 44

2.3.1 寄存器 45

2.3.2 局部存储器 45

2.3.3 共享存储器 46

2.3.4 全局存储器 47

2.3.5 主机端内存 52

2.3.6 主机端页锁定内存 52

2.3.7 常数存储器 57

2.3.8 纹理存储器 58

2.4 CUDA通信机制 68

2.4.1 同步函数 68

2.4.2 Volatile关键字 72

2.4.3 ATOM操作 72

2.4.4 VOTE操作 76

2.5 异步并行执行 76

2.5.1 流 79

2.5.2 事件 81

2.6 CUDA图形学API互操作 87

2.6.1 CUDA与OpenGL的互操作 87

2.6.2 CUDA与Direct3D 操作 91

2.7 多设备与设备集群 102

2.7.1 CUDA设备控制 102

2.7.2 CUDA与openMP 114

2.7.3 CUDA与集群 117

第3章 CUDA硬件架构 120

3.1 NVIDIA显卡构造简介 120

3.1.1 图形显卡概览 120

3.1.2 PCI-E总线 121

3.1.3 显存 122

3.1.4 GPU芯片 123

3.2 Tesla图形与计算架构 124

3.2.1 SPA-TPC-SM 126

3.2.2 主流GPU架构 129

3.3 Tesla通用计算模型 131

3.3.1 数据与指令的加载 131

3.3.2 warp指令的发射与执行 133

3.3.3 纹理、渲染和存储器流水线 137

第4章 CUDA程序的优化 141

4.1 CUDA程序优化概述 141

4.2 测量程序运行时间 144

4.2.1 设备端测时 144

4.2.2 主机端测时 148

4.3 任务划分 148

4.3.1 任务划分原则 148

4.3.2 grid和block维度设计 150

4.4 存储器访问优化 152

4.4.1 主机—设备通信优化 152

4.4.2 全局存储器访问优化 155

4.4.3 共享存储器访问优化 160

4.4.4 使用纹理存储器和常数存储器加速 163

4.5 指令流优化 163

4.5.1 算术指令 164

4.5.2 控制流指令 166

4.5.3 访存指令 166

4.5.4 同步指令 167

4.6 CUDA profiler的使用 167

4.6.1 图形分析 167

4.6.2 图表分析 167

4.7 优化应用举例 169

4.7.1 矩阵乘法的优化 169

4.7.2 并行归约的优化 176

4.7.3 矩阵转置的优化 184

第5章 综合应用 190

5.1 基本应用 190

5.1.1 双调排序网络 190

5.1.2 Scan 197

5.1.3 CUBLAS简单应用 206

5.1.4 CUFFT简单应用 211

5.2 高级应用 217

5.2.1 共轭梯度法的CUBLAS实现 217

5.2.2 AC多模式匹配算法的CUDA实现 227

附录A 安装、配置、编译及调试 237

附录B 常见问题与解答 247

附录C 技术规范 249

附录D C扩展 253

附录E 数学函数 263

附录F 纹理拾取 272

附录G 着色器模型 275