第1章 引言 1
1.1 gpu与并行计算机 2
1.2 现代gpu的体系结构 7
1.3 为什么需要更高的速度和并行化 8
1.4 并行编程语言与模型 11
1.5 综合目标 12
1.6 本书的组织结构 13
第2章 gpu计算的发展历程 17
2.1 图形流水线的发展 18
2.1.1 固定功能的图形流水线时代 18
2.1.2 可编程实时图形流水线的发展 21
2.1.3 图形与计算结合的处理器 23
2.1.4 gpu:一个中间步骤 25
2.2 gpu计算 26
2.2.1 可扩展的gpu 27
2.2.2 发展近况 27
2.3 未来发展趋势 28
第3章 cuda简介 31
3.1 数据并行性 32
3.2 cuda的程序结构 33
.3.3 矩阵乘法示例 34
3.4 设备存储器与数据传输 37
3.5 kernel函数与线程 41
3.6 小结 45
3.6.1 函数声明 45
3.6.2 启动kernel函数 46
3.6.3 预定义变量 46
3.6.4 运行时api 46
第4章 cuda线程 49
4.1 cuda线程组织结构 50
4.2 使用blockidx和threadidx 54
4.3 同步与透明可扩展性 58
4.4 线程分配 59
4.5 线程调度和容许延时 60
4.6 小结 62
4.7 习题 63
第5章 cuda存储器模型 65
5.1 存储器访问效率的重要性 66
5.2 cuda设备存储器的类型 67
5.3 减少全局存储器流量的策略 70
5.4 存储器——限制并行性的一个因素 76
5.5 小结 77
5.6 习题 78
第6章 性能优化 79
6.1 更多关于线程执行的问题 80
6.2 全局存储器的带宽 86
6.3 sm资源的动态划分 93
6.4 数据预取 95
6.5 指令混合 97
6.6 线程粒度 98
6.7 可度量的性能和小结 99
6.8 习题 100
第7章 浮点运算 105
7.1 浮点格式 106
7.1.1 m的规范化表示 106
7.1.2 e的余码表示 107
7.2 能表示的数 109
7.3 特殊的位模式与精度 113
7.4 算术运算的准确度和舍入 114
7.5 算法的优化 114
7.6 小结 115
7.7 习题 116
第8章 应用案例研究:高级mri重构 117
8.1 应用背景 118
8.2 迭代重构 120
8.3 计算fhd 123
8.4 最终评估 139
8.5 习题 142
第9章 应用案例研究:分子可视化和分析 143
9.1 应用背景 144
9.2 kernel函数简单的实现方案 145
9.3 指令执行效率 149
9.4 存储器合并 151
9.5 附加性能比较 154
9.6 采用多gpu 156
9.7 习题 157
第10章 并行编程和计算思想 159
10.1 并行编程的目标 160
10.2 问题分解 161
10.3 算法选择 163
10.4 计算思想 168
10.5 习题 169
第11章 opencl简介 171
11.1 背景 172
11.2 数据并行性模型 173
11.3 设备的体系结构 175
11.4 kernel函数 176
11.5 设备管理和启动kernel 177
11.6 opencl中的静电势图谱 179
11.7 小结 183
11.8 习题 184
第12章 结论与展望 185
12.1 重申目标 186
12.2 存储器体系结构的演变 187
12.2.1 大型虚拟和物理地址空间 187
12.2.2 统一的设备存储空间 188
12.2.3 可配置的缓存和暂时存储器 188
12.2.4 提高原子操作的速度 189
12.2.5 提高全局存储器的访问速度 189
12.3 kernel函数执行控制过程的演变 190
12.3.1 kernel函数内部的函数调用 190
12.3.2 kernel函数中的异常处理 190
12.3.3 多个kernel函数的同步执行 191
12.3.4 可中断的kernel函数 191
12.4 内核的性能 191
12.4.1 双精度的速度 191
12.4.2 提高控制流的效率 192
12.5 编程环境 192
12.6 美好前景 193
附录a 矩阵乘法主机版的源代码 195
附录b gpu的计算能力 207
· · · · · · (
收起)
评分
☆☆☆☆☆
可以看出DirectX是深深的影响了GPU的设计。
评分
☆☆☆☆☆
可以看出DirectX是深深的影响了GPU的设计。
评分
☆☆☆☆☆
读研的时候因为要做图像的并行处理,通读过这本书。怎么说呢,书的作者之一是台湾CUDA大牛,写得必然不差,但相比于nvidia官方开发文档并没有什么独特之处,因此,这本书个人不推荐,还不如直接看官方文档清晰明了。
评分
☆☆☆☆☆
@2018-05-20 23:00:09
评分
☆☆☆☆☆
此书读起来感觉平平。不过coursera上有配套课程,这点挺好。
评分
☆☆☆☆☆
适合初中级读者。 比较喜欢书的整体结构和安排,比较注重并行处理思想的贯穿。 在每章节都有一些核心思想的深入,比如延迟隐藏技术,内存使用方面 有详细的讲解。 不足之处是设计内容比较广泛,因此基本每章的内存都是点到为止,没有具体的深入分析。 后面的几个实例还是...
评分
☆☆☆☆☆
这本书非常罗嗦,既不很通俗也不很深入。更要命的是,翻译得过于粗糙了。图7-9整个给翻译丢了不说,好多地方都是错字,还有些根本读不下来啊。 比如,7.3节,“通过设置最重要的尾数位来表示”。哪位是“最重要的尾数位”啊?most significant mantissa bit是尾数的最高有效位...
评分
☆☆☆☆☆
这本书非常罗嗦,既不很通俗也不很深入。更要命的是,翻译得过于粗糙了。图7-9整个给翻译丢了不说,好多地方都是错字,还有些根本读不下来啊。 比如,7.3节,“通过设置最重要的尾数位来表示”。哪位是“最重要的尾数位”啊?most significant mantissa bit是尾数的最高有效位...
评分
☆☆☆☆☆
CUDA生在NV,幼年长在UIUC,这本书的那个华人作者虽然说不是CUDA唯一的那个father,但也可以讲是one of 把CUDA养大的人。 你唯一可以诟病的是它没有手把手的教你写code,但那么做的书都真的太浅了。这本书可以说无遗漏的把基础都带了一遍而且很明白。至少在我个人眼里,这本书...
评分
☆☆☆☆☆
CUDA生在NV,幼年长在UIUC,这本书的那个华人作者虽然说不是CUDA唯一的那个father,但也可以讲是one of 把CUDA养大的人。 你唯一可以诟病的是它没有手把手的教你写code,但那么做的书都真的太浅了。这本书可以说无遗漏的把基础都带了一遍而且很明白。至少在我个人眼里,这本书...