商家名称 | 信用等级 | 购买信息 | 订购本书 |
![]() |
大规模并行处理器编程实战 [平装] | ![]() |
|
![]() |
大规模并行处理器编程实战 [平装] | ![]() |
《大规模并行处理器编程实战》介绍了学生和专业人员都适合的并行编程与gpu体系结构的基本概念,详细剖析了编写并行程序所需的各种技术,用案例研究说明了并行程序设计的整个开发过程,即从计算思想开始,直到最终实现高效可行的并行程序。
《大规模并行处理器编程实战》特色
介绍了计算思想,可以使读者能够在实现高性能并行计算的基础上来考虑和解决问题
如何使用cuda(统一计算设备架构),cuda是nvidia公司专门为大规模并行环境创建的软件开发工具
如何使用cuda编程模型和opencl同时实现高性能和高可靠性
“对于希望学习GPU并行编程的读者,《大规模并行处理器编程实战》简直是天赐之物。书中介绍了CUDA,一种类C的数据并行语言,介绍了Tesla,当前的NVIDIA GPU显示核心的体系结构。除了解释语言和体系结构,《大规模并行处理器编程实战》还详细说明了可以在异构CPU-GPU硬件上平稳运行的数据并行问题的类型……《大规模并行处理器编程实战》是一本重要的并行计算参考文献。”
——David Patterson(美国国家工程院院土,加州大学伯克利分校并行计算研究实验室主任兼计算机科学系Pardee教授,IEEE与ACM会员)大力推荐
作者:(美国)科克(David B. Kirk) (美国)胡文美(Wen-mei W.Hwu) 译者:陈曙晖 熊淑华
科克(David B. Kirk)博士:美国国家工程院院士,NVIDIA公司首席科学家,拥有麻省珲工学院的机械工程学学士和硕十学位,加州理工学院的计算机科学博士学位。Kirk博士是50项与图形芯片设计相关的专利和专利申请的发明者,发表了50多篇关于图形处理技术的论文,是可视化计算技术方面的权威。
胡文美(Wen-mei W. Hwu)教授:拥有美国加州大学伯克利分校计算机科学博士学位,担任伊利诺伊大学厄巴纳一香槟分校协调科学实验室的电气和计算机工程主席,领导IMPACT研究中心并负责Open IMPACT项目,该项目为计算机行业提供编译器和计算机架构新技术。Hwu教授还担任通用并行计算研究中心联合主任,是全球首个ACUDA卓越中心首席研究员。
第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
大众市场上的计算系统将多核CPU和众核GPU两者结合起来,在笔记本电脑上的运算速度可以达到万亿次,在集群系统中的运算速度可以达到千万亿次。具有这种计算能力以后,我们有望很快将计算实验推广到科学、工程、健康和商业等领域。通过使用计算实验,很多人可能会在他们的学科领域中有所突破,这种规模是可控的、可观测的但规模水平又是空前的。本书提供了实现这种构想的关键途径:教会数百万的本科生和研究生并行编程,使计算思维能力和并行编程技能像数学运算那样普及。
从这门课的前身ECE498AL开始。在2006年的圣诞假期间,我们在疯狂地致力于幻灯片的讲座和实验作业。David正在开发一套系统,试着把早期的Ge Force 8800 GTX GPU卡经客轮拉到伊利诺伊州,但直到开学后几个星期才到货。显然也是在开学后的几个星期以后,CUDA才开始公开。我们必须制定出合法的合同,以便在最初的几个星期内就能依照NDA保密协议为学生开设这门课程。我们也需要公开,这样学生才会来报名,直到预报告阶段之后我们才会公开这个课程。
2007年1月16日,我们上了第一堂课。所有事情才算是安顿下来。David每周都要乘公交车来Urbana上课。我们招收了52个学生,比我们要招收的人数还多两个。前10次课,我们大都要制作幻灯片。Wen-mei的研究生John Stratton,欣然主动地要求担任教学助理,并帮我们布置实验室。所有的学生都签了NDA,因此在CUDA公开前,我们可以继续上前几次课。我们把课堂的内容记录下来,但直到2月份才把它发布到网上。我们有物理、天文、化学、电气工程、机械工程,以及计算机科学和计算机工程专业的研究生。教室里洋溢的热情使我们都觉得这一切都是值得的。
插图:
本书第二个目标是讲解如何编写功能正确的、可靠的并行程序,这是并行计算中的技巧问题。过去曾从事过并行系统方面工作的开发人员会知道,仅保证初始性能是远远不够的。我们面临的挑战是如何在可以调试代码和支持用户的情况下实现高性能。CUDA编程模型关注的焦点是数据并行性,我们将帮助读者在他们的应用程序中实现高性能和高可靠性。
本书第三个目标是通过探讨一些方法来使目前的并行编程实现可扩展性,能适应未来硬件更新换代的要求。对于未来的计算机,程序并行化程度会越来越高,程序运行速度也会比现在的计算机更快。我们想帮助读者掌握并行编程,以便随着新一代计算机的出现,程序的性能有所提升。
读者要想达到上述目标,需要掌握相当多的技术知识,因此本书主要讨论并行编程的设计原理和模式。我们不能保证本书能覆盖所有相关知识,但是我们从中选取最有用也是经得起考验的技术进行深入研究。为了补充读者的知识和经验,我们将推荐一个相关参考文献列表。接下来我们准备对本书的其余部分做一个简单的概述。
喜欢大规模并行处理器编程实战 [平装]请与您的朋友分享,由于版权原因,读书人网不提供图书下载服务