新書推薦:
《
古典的回響:溪客舊廬藏明清文人繪畫
》
售價:NT$
1990.0
《
根源、制度和秩序:从老子到黄老学(王中江著作系列)
》
售價:NT$
550.0
《
索恩丛书·北宋政治与保守主义:司马光的从政与思想(1019~1086)
》
售價:NT$
345.0
《
掌故家的心事
》
售價:NT$
390.0
《
农为邦本——农业历史与传统中国
》
售價:NT$
340.0
《
郊庙之外:隋唐国家祭祀与宗教 增订版 (三联·哈佛燕京学术丛书)
》
售價:NT$
480.0
《
小麦文明:“黄金石油”争夺战
》
售價:NT$
445.0
《
悬壶杂记全集:老中医多年临证经验总结(套装3册) 中医医案诊疗思路和处方药应用
》
售價:NT$
614.0
|
內容簡介: |
本书由Intel的技术专家撰写,系统地讲解在IntelXeon处理器和IntelXeonPhi协处理器上进行并行处理和编程的方法和技术,展示了更好地利用Intel处理器或其他多核处理器的系统计算潜力的有效方法。全书包括大量来自多个行业和不同领域的并行编程例子。每章既详细讲述所采用的编程技术,同时展示了其在IntelXeonPhi协处理器和多核处理器上的高性能结果。几十个新的例子和案例显示的“成功经验”不但展现了这些强大系统的主要特征,而且展示出如何在这些异构系统上保持并行化。
|
關於作者: |
James Reinders 英特尔软件总监,首席技术布道师。参与多个旨在加强并行编程在工业界应用的工程研究和教育项目。他对多个项目做出了贡献,包括世界上首例 Teraflop 级超级计算机(ASCI Red)和世界上首例 Teraflop 级微处理器(Intel Xeon Phi协处理器)。
Jim Jeffers 英特尔MIC(集成众核)架构专家和首席工程师,对至强融核协处理器有着较为深入与全面的研究。
|
目錄:
|
目 录
High Performance Parallelism Pearls: Multicore and Many-core Programming Approaches
出版者的话
译者序
推荐序
前 言
作者简介
第1章 引言1
1.1 学习成功经验1
1.2 代码现代化1
1.3 并发算法现代化1
1.4 向量化和数据局部性现代化2
1.5 理解功耗使用2
1.6 ISPC和OpenCL2
1.7 Intel Xeon Phi协处理器特性2
1.8 众核和新异构系统2
1.9 书名中没有Xeon Phi与新异构架构编程3
1.10 众核的未来3
1.11 下载3
1.12 更多信息4
第2章从正确到正确&高效:Godunov
格式的Hydro2D案例学习5
2.1 现代计算机上的科学计算5
2.1.1 现代计算环境6
2.1.2 CEA的Hydro2D6
2.2 冲击流体动力学的一种数值方法7
2.2.1 欧拉方程7
2.2.2 Godunov方法7
2.2.3 哪里需要优化9
2.3 现代计算机架构的特征9
2.3.1 面向性能的架构9
2.3.2 编程工具和运行时10
2.3.3 计算环境11
2.4 通向高性能的路11
2.4.1 运行Hydro2D11
2.4.2 Hydro2D的结构12
2.4.3 优化15
2.4.4 内存使用16
2.4.5 线程级并行17
2.4.6 算术效率和指令级并行24
2.4.7 数据级并行26
2.5 总结32
2.5.1 协处理器与处理器32
2.5.2 水涨船高32
2.5.3 性能策略33
2.6 更多信息34
第3章HBM上的SIMD与并发优化36
3.1应用程序:HIROMB-BOOS-MODEL36
3.2 关键应用:DMI36
3.3 HBM执行配置文件37
3.4 HBM优化综述38
3.5 数据结构:准确定位位置38
3.6 HBM上的线程并行41
3.7 数据并行:SIMD向量化45
3.7.1 零散的可优化部分46
3.7.2 过早抽象是万恶之源48
3.8 结果50
3.9 详情分析51
3.10 处理器与协处理器可扩展性对比52
3.11 CONTIGUOUS属性53
3.12 总结54
3.13 参考文献54
3.14 更多信息55
第4章 流体动力学方程优化56
4.1 开始56
4.2 1.0版本:基础版本57
4.3 2.0版本:线程盒59
4.4 3.0版本:栈内存63
4.5 4.0版本:分块63
4.6 5.0版本:向量化64
4.7Intel Xeon Phi协处理器上的运行结果68
4.8 总结69
4.9 更多信息70
第5章 分阶段准同步栅栏71
5.1 如何改善代码74
5.2 如何进一步改善代码74
5.3 超线程方阵74
5.4关于该方案哪些地方不是最优的75
5.5 超线程方阵编码76
5.5.1如何确定内核间兄弟线程和内核内HT线程77
5.5.2 超线程方阵手动分区方法77
5.5.3 吸取教训79
5.6 回到工作80
5.7 数据对齐81
5.7.1 尽可能使用对齐的数据81
5.7.2 冗余未必是件坏事81
5.8 深入讨论分阶段准同步栅栏84
5.9 如何节省时间86
5.10 几个留给读者的优化思考90
5.11类似Xeon Phi协处理器的Xeon主机性能优化91
5.12 总结92
5.13 更多信息92
第6章 故障树表达式并行求解93
6.1 动机和背景93
6.1.1 表达式93
6.1.2 表达式选择:故障树93
6.1.3 程序实例中的故障树:基本模拟93
6.2 实例实现94
6.3 其他因素101
6.4 总结101
6.5 更多信息101
第7章 深度学习的数值优化102
7.1 拟合目标函数102
7.2 目标函数与主成分分析105
7.3 软件及样例数据106
7.4 训练数据109
7.5 运行时间109
7.6 扩展结果111
7.7 总结111
7.8 更多信息112
第8章 优化聚集分散模式113
8.1 聚集分散在Intel架构下的说明114
8.2 聚集分散模式在分子动力学中的应用115
8.3 优化聚集分散模式117
8.3.1 提高时间和空间的局部性117
8.3.2 选择一种适当的数据布局:AoS与SoA118
8.3.3 AoS和SoA之间的动态转换119
8.3.4 分摊聚集分散和转换的开销122
8.4 总结123
8.5 更多信息123
第9章N体问题直接法的众核实现125
9.1 N体模拟125
9.2 初始解决方案125
9.3 理论极限126
9.4 降低开销和对齐数据128
9.5 优化存储层次131
9.6 改进分块133
9.7 主机端的优化135
9.8 总结136
9.9 更多信息136
第10章 N体方法137
10.1 快速N体方法和直接N体内核137
10.2 N体方法的应用138
10.3 直接N体代码138
10.4 性能结果141
10.5 总结142
10.6 更多信息142
第11章 使用OpenMP 4.0实现动态负载均衡144
11.1 最大化硬件利用率144
11.2 N体内核146
11.3 卸载版本149
11.4 第一个处理器与协处理器协作版本150
11.5 多协处理器版本152
11.6 更多信息155
第12章 并发内核卸载156
12.1 设定上下文156
12.1.1 粒子动力学156
12.1.2 本章结构157
12.2 协处理器上的并发内核158
12.2.1 协处理器设备划分和线程关联158
12.2.2 并发数据传输163
12.3 在PD中使用并发内核卸载进行作用力计算166
12.3.1 使用牛顿第三定律并行评估作用力166
12.3.2 实现作用力并发计算167
12.3.3 性能评估:之前与之后171
12.4 总结
|
內容試閱:
|
前 言High Performance Parallelism Pearls: Multicore and Many-core Programming Approaches本书囊括了69位作者的Intel Xeon Phi协处理器并行编程经验,他们将处理器和协处理器的性能发挥得淋漓尽致。其中讨论了并行编程中许多关键的挑战和技术,并给出了令人激动的成果。大多数章节展示如何良好地进行扩展和向量化,这将有利于在多核处理器和众核Intel Xeon Phi协处理器上获得更好的性能。其他章节揭示如何在提供了通用编程模型的系统下利用由Intel Xeon处理器和Intel Xeon Phi协处理器组成的新异构系统。书中还提供了关于部署、管理、监控与运行这些新异构系统和集群的专家建议。
来自61个内核的灵感:编程新纪元对我们来说,比Intel Xeon Phi协处理器的成功更引人瞩目的是Intel Xeon Phi协处理器对并行编程的激励。这个协处理器开启了编程的新篇章。而在多达61个内核上的并行编程似乎远比在4个或者8个内核上的并行编程更有吸引力。它激发了人们将并行编程技术首次应用于一些应用程序以及改进已有的并行应用程序的兴趣。它激励人们研究真正可扩展的并行编程,而不仅仅是在只有少量并行(比如四核处理器上)时取得的尚可(有时甚至微小)的性能提高。
Intel Xeon Phi协处理器为并行化带来了变革,为在其中探索的人们带了巨大的机遇。在这个过程中,我们不需要新的编程模型、新的语言或者新的工具。本书提供的并行编程工作和思想,描述了如何将旧的技术应用到新的异构编程平台上。这将帮助我们挖掘这一平台的巨大潜力。
我们非常感谢各位作者。各章的作者致力于在这个令人鼓舞的强大设备上编程。工作之余,他们为我们详述自己的工作,以便使我们学习他们的成功经验。我们希望你能够从中受益,并在这个并行计算的新时代获得成功。
致谢本书的完成首先要感谢为此付出努力的软件开发工程师们,他们在工作之余与我们分享经验。本书浓缩了各位作者的成果。他们的名字列在其所写章节的开头,“作者简介”中有关于他们的简要介绍。我们要感谢所有作者坚持不懈的努力与理解。
感谢我们共同的朋友Sverre Jarp在“推荐序”中分享他独特的见解,感谢Joe Curley鼓励我们完成这件几乎不可能完成的事情。
James Reinders感谢妻子Susan Meredith,她的支持对于本书的完成至关重要。同时,James也感谢女儿Katie和儿子Andrew一直以来的大力支持。最后,James要感谢合著者和朋友Jim Jeffers,感谢他又一次成为完美搭档。
Jim Jeffers感谢妻子Laura一如既往的支持和鼓励。Jim感谢孩子(包括孩子们的配偶)Tim、Patrick、Colleen、Sarah、Jon,尤其是刚出生的孙女Hannah,他们无时无刻不在鼓舞着他。最后,Jim非常感谢合著者和朋友James Reinders,感谢他的专业技能和指导,感谢他坚定地恪守承诺使这本书从概念变成现实。
感谢Joe Curley、Bob Burroughs、Herb Hinstorff、Rob Farber和Nathan Schultz提供的支持、指导和反馈。
感谢整个Morgan Kaufmann团队的辛勤工作,包括与我们直接合作的三个人:Todd Green、Lindsay Lawrence和Priya Kumaraguruparan。
许多同事提供了信息、建议和想法。当然,还有很多人直接或间接地提供了帮助,对此我们深表感激。感谢所有帮助过我们的人,并对我们忘记提到名字的所有人表示歉意。
感谢所有人。
——Jim JeffersJames ReindersIntel公司2014年11月
|
|