图书介绍
CUDA专家手册 GPU编程权威指南【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (美)威尔特著;苏统华,马培军,刘曙,吕家明译 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111472650
- 出版时间:2014
- 标注页数:352页
- 文件大小:55MB
- 文件页数:374页
- 主题词:图象处理-程序设计-手册
PDF下载
下载说明
CUDA专家手册 GPU编程权威指南PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 基础知识2
第1章 简介2
1.1 方法4
1.2 代码4
1.2.1 验证型代码5
1.2.2 演示型代码5
1.2.3 探究型代码5
1.3 资源5
1.3.1 开源代码5
1.3.2 CUDA专家手册库(chLib)6
1.3.3 编码风格6
1.3.4 CUDA SDK6
1.4 结构6
第2章 硬件架构8
2.1 CPU配置8
2.1.1 前端总线9
2.1.2 对称处理器簇9
2.1.3 非一致内存访问(NUMA)10
2.1.4 集成的PCIe12
2.2 集成GPU13
2.3 多GPU14
2.4 CUDA中的地址空间17
2.4.1 虚拟寻址简史17
2.4.2 不相交的地址空间20
2.4.3 映射锁页内存21
2.4.4 可分享锁页内存21
2.4.5 统一寻址23
2.4.6 点对点映射24
2.5 CPU/GPU交互24
2.5.1 锁页主机内存和命令缓冲区25
2.5.2 CPU/GPU并发26
2.5.3 主机接口和内部GPU同步29
2.5.4 GPU间同步31
2.6 GPU架构31
2.6.1 综述31
2.6.2 流处理器簇34
2.7 延伸阅读37
第3章 软件架构39
3.1 软件层39
3.1.1 CUDA运行时和驱动程序40
3.1.2 驱动程序模型41
3.1.3 nvcc、 PTX和微码43
3.2 设备与初始化45
3.2.1 设备数量46
3.2.2 设备属性46
3.2.3 无CUDA支持情况48
3.3 上下文50
3.3.1 生命周期与作用域51
3.3.2 资源预分配51
3.3.3 地址空间52
3.3.4 当前上下文栈52
3.3.5 上下文状态53
3.4 模块与函数53
3.5 内核(函数)55
3.6 设备内存56
3.7 流与事件57
3.7.1 软件流水线57
3.7.2 流回调57
3.7.3 NULL流57
3.7.4 事件58
3.8 主机内存59
3.8.1 锁页主机内存60
3.8.2 可分享的锁页内存60
3.8.3 映射锁页内存60
3.8.4 主机内存注册60
3.9 CUDA数组与纹理操作61
3.9.1 纹理引用61
3.9.2 表面引用63
3.10 图形互操作性63
3.11 CUDA运行时与CUDA驱动程序API65
第4章 软件环境69
4.1 nvcc——CUDA编译器驱动程序69
4.2 ptxas—— PTX汇编工具73
4.3 cuobjdump76
4.4 nvidia-smi77
4.5 亚马逊Web服务79
4.5.1 命令行工具79
4.5.2 EC2和虚拟化79
4.5.3 密钥对80
4.5.4 可用区域(AZ)和地理区域81
4.5.5 S381
4.5.6 EBS81
4.5.7 AMI82
4.5.8 EC2上的Linux82
4.5.9 EC2上的Windows83
第二部分CUDA编程88
第5章 内存88
5.1 主机内存89
5.1.1 分配锁页内存89
5.1.2 可共享锁页内存90
5.1.3 映射锁页内存90
5.1.4 写结合锁页内存91
5.1.5 注册锁页内存91
5.1.6 锁页内存与统一虚拟寻址92
5.1.7 映射锁页内存用法92
5.1.8 NUMA、线程亲和性与锁页内存93
5.2 全局内存95
5.2.1 指针96
5.2.2 动态内存分配97
5.2.3 查询全局内存数量100
5.2.4 静态内存分配101
5.2.5 内存初始化API102
5.2.6 指针查询103
5.2.7 点对点内存访问104
5.2.8 读写全局内存105
5.2.9 合并限制105
5.2.10 验证实验:内存峰值带宽107
5.2.11 原子操作111
5.2.12 全局内存的纹理操作113
5.2.13 ECC(纠错码)113
5.3 常量内存114
5.3.1 主机与设备常量内存114
5.3.2 访问常量内存114
5.4 本地内存115
5.5 纹理内存118
5.6 共享内存118
5.6.1 不定大小共享内存声明119
5.6.2 束同步编码119
5.6.3 共享内存的指针119
5.7 内存复制119
5.7.1 同步内存复制与异步内存复制120
5.7.2 统一虚拟寻址121
5.7.3 CUDA运行时121
5.7.4 驱动程序API123
第6章 流与事件125
6.1 CPU/GPU的并发:隐藏驱动程序开销126
6.2 异步的内存复制129
6.2.1 异步的内存复制:主机端到设备端130
6.2.2 异步内存复制:设备端到主机端130
6.2.3 NULL流和并发中断131
6.3 CUDA事件:CPU/GPU同步133
6.3.1 阻塞事件135
6.3.2 查询135
6.4 CUDA事件:计时135
6.5 并发复制和内核处理136
6.5.1 concurrencyMemcpyKemel.cu137
6.5.2 性能结果141
6.5.3 中断引擎间的并发性142
6.6映射锁页内存143
6.7 并发内核处理145
6.8 GPU/GPU同步:cudaStreamWaitEvent()146
6.9 源代码参考147
第7章 内核执行148
7.1 概况148
7.2 语法149
7.2.1 局限性150
7.2.2 高速缓存和一致性151
7.2.3 异步与错误处理151
7.2.4 超时152
7.2.5 本地内存152
7.2.6 共享内存153
7.3 线程块、线程、线程束、束内线程153
7.3.1 线程块网格153
7.3.2 执行保证156
7.3.3 线程块与线程ID156
7.4 占用率159
7.5 动态并行160
7.5.1 作用域和同步161
7.5.2 内存模型162
7.5.3 流与事件163
7.5.4 错误处理163
7.5.5 编译和链接164
7.5.6 资源管理164
7.5.7 小结165
第8章 流处理器簇167
8.1 内存168
8.1.1 寄存器168
8.1.2 本地内存169
8.1.3 全局内存170
8.1.4 常量内存171
8.1.5 共享内存171
8.1.6 栅栏和一致性173
8.2 整型支持174
8.2.1 乘法174
8.2.2 其他操作(位操作)175
8.2.3 漏斗移位(SM 3.5)175
8.3 浮点支持176
8.3.1 格式176
8.3.2 单精度(32位)180
8.3.3 双精度(64位)181
8.3.4 半精度(16位)181
8.3.5 案例分析:float到half的转换182
8.3.6 数学函数库185
8.3.7 延伸阅读190
8.4 条件代码191
8.4.1 断定191
8.4.2 分支与汇聚191
8.4.3 特殊情况:最小值、最大值和绝对值192
8.5 纹理与表面操作193
8.6 其他指令193
8.6.1 线程束级原语193
8.6.2 线程块级原语194
8.6.3 性能计数器195
8.6.4 视频指令195
8.6.5 特殊寄存器196
8.7 指令集196
第9章 多GPU203
9.1 概述203
9.2 点对点机制204
9.2.1 点对点内存复制204
9.2.2 点对点寻址205
9.3 UVA:从地址推断设备206
9.4 多GPU间同步207
9.5 单线程多GPU方案208
9.5.1 当前上下文栈208
9.5.2 N-体问题210
9.6 多线程多GPU方案212
第10章 纹理操作216
10.1 简介216
10.2 纹理内存217
10.2.1 设备内存217
10.2.2 CUDA数组与块的线性寻址218
10.2.3 设备内存与CUDA数组对比222
10.3 一维纹理操作223
10.4 纹理作为数据读取方式226
10.4.1 增加有效地址范围226
10.4.2 主机内存纹理操作228
10.5 使用非归一化坐标的纹理操作230
10.6 使用归一化坐标的纹理操作237
10.7 一维表面内存的读写238
10.8 二维纹理操作240
10.9 二维纹理操作:避免复制242
10.9.1 设备内存上的二维纹理操作242
10.9.2 二维表面内存的读写243
10.10 三维纹理操作244
10.11 分层纹理245
10.11.1 一维分层纹理246
10.11.2 二维分层纹理246
10.12 最优线程块大小选择以及性能246
10.13 纹理操作快速参考248
10.13.1 硬件能力248
10.13.2 CUDA运行时249
10.13.3 驱动API250
第三部分 实例254
第11章 流式负载254
11.1 设备内存255
11.2 异步内存复制258
11.3 流259
11.4 映射锁页内存260
11.5 性能评价与本章小结261
第12章 归约算法263
12.1 概述263
12.2 两遍归约265
12.3 单遍归约269
12.4 使用原子操作的归约271
12.5 任意线程块大小的归约272
12.6 适应任意数据类型的归约273
12.7 基于断定的归约276
12.8 基于洗牌指令的线程束归约277
第13章 扫描算法278
13.1 定义与变形278
13.2 概述279
13.3 扫描和电路设计281
13.4 CUDA实现284
13.4.1 先扫描再扇出284
13.4.2 先归约再扫描(递归)288
13.4.3 先归约再扫描(两阶段)291
13.5 线程束扫描294
13.5.1 零填充295
13.5.2 带模板的版本296
13.5.3 线程束洗牌297
13.5.4 指令数对比298
13.6 流压缩300
13.7 参考文献(并行扫描算法)302
13.8 延伸阅读(并行前缀求和电路)303
第14章 N-体问题304
14.1 概述305
14.2 简单实现309
14.3 基于共享内存实现312
14.4 基于常量内存实现313
14.5 基于线程束洗牌实现315
14.6 多GPU及其扩展性316
14.7 CPU的优化317
14.8 小结321
14.9 参考文献与延伸阅读323
第15章 图像处理的归一化相关系数计算324
15.1 概述324
15.2 简单的纹理实现326
15.3 常量内存中的模板329
15.4 共享内存中的图像331
15.5 进一步优化334
15.5.1 基于流处理器簇的实现代码334
15.5.2 循环展开335
15.6 源代码336
15.7 性能评价337
15.8 延伸阅读339
附录A CUDA专家手册库340
术语表347
热门推荐
- 1679300.html
- 951403.html
- 1532228.html
- 2467267.html
- 3599570.html
- 2794537.html
- 3857193.html
- 47495.html
- 2200404.html
- 310450.html
- http://www.ickdjs.cc/book_3678009.html
- http://www.ickdjs.cc/book_2408583.html
- http://www.ickdjs.cc/book_516351.html
- http://www.ickdjs.cc/book_1030060.html
- http://www.ickdjs.cc/book_606545.html
- http://www.ickdjs.cc/book_2490005.html
- http://www.ickdjs.cc/book_2210715.html
- http://www.ickdjs.cc/book_1288400.html
- http://www.ickdjs.cc/book_1956460.html
- http://www.ickdjs.cc/book_2575538.html