图书介绍

高性能并行珠玑 多核和众核编程方法PDF|Epub|txt|kindle电子书版本网盘下载

高性能并行珠玑 多核和众核编程方法
  • (美)詹姆斯·赖因德斯(James Reinders)等编著;张云泉等译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111580805
  • 出版时间:2017
  • 标注页数:378页
  • 文件大小:70MB
  • 文件页数:406页
  • 主题词:微处理器-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

高性能并行珠玑 多核和众核编程方法PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第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.7 Intel 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 总结173

12.5 更多信息174

第13章 MPI和异构计算175

13.1 现代集群中的MPI175

13.2 MPI任务地点176

13.3 DAPL提供者的选择180

13.3.1 第一个提供者OFA-V2-MLX4_0-1U180

13.3.2 第二个提供者ofa-v2-scif0以及对节点内部结构的影响180

13.3.3 最后一个提供者181

13.3.4 混合程序的可扩展性182

13.3.5 负载均衡184

13.3.6 任务和线程映射184

13.4 总结185

13.5 致谢185

13.6 更多信息185

第14章 Intel Xeon Phi协处理器功耗分析186

14.1 功耗分析186

14.2 用软件测量功耗和温度187

14.2.1 创建功耗和温度监控脚本188

14.2.2 使用micsmc工具创建功耗和温度记录器189

14.2.3 使用IPMI进行功耗分析190

14.3 基于硬件的功耗分析方法192

14.4 总结196

14.5 更多信息196

第15章 集成Intel Xeon Phi协处理器至集群环境197

15.1 早期探索197

15.2 Beacon系统的历史197

15.3 Beacon系统的架构198

15.3.1 硬件环境198

15.3.2 软件环境198

15.4 Intel MPSS安装步骤199

15.4.1 系统准备199

15.4.2 安装Intel MPSS栈200

15.4.3 生成和定制配置文件201

15.4.4 MPSS升级204

15.5 建立资源和工作负载管理器204

15.5.1 TORQUE204

15.5.2 序言程序205

15.5.3 尾声程序206

15.5.4 TORQUE/协处理器集成207

15.5.5 Moab207

15.5.6 提高网络局部性207

15.5.7 Moab/协处理器集成207

15.6 健康检查和监控208

15.7 常用命令脚本化209

15.8 用户软件环境210

15.9 今后的方向211

15.10 总结212

15.11 致谢212

15.12 更多信息212

第16章 在Intel Xeon Phi协处理器上支持集群文件系统214

16.1 网络配置概念和目标214

16.1.1 网络选项概览215

16.1.2 设置集群启用协处理器的步骤216

16.2 协处理器文件系统支持217

16.2.1 支持NFS217

16.2.2 支持Lustre文件系统218

16.2.3 支持Fraunhofer BeeGFS文件系统219

16.2.4 支持Panasas PanFS文件系统220

16.2.5 集群文件系统的选择220

16.3 总结220

16.4 更多信息221

第17章 NWChem:大规模量子化学仿真222

17.1 引言222

17.2 回顾单线程CC形式222

17.3 NWChem软件架构225

17.3.1 全局数组225

17.3.2 张量收缩引擎226

17.4 设计卸载解决方案226

17.5 卸载架构229

17.6 内核优化230

17.7 性能评估232

17.8 总结233

17.9 致谢235

17.10 更多信息235

第18章 大规模多系统上的高效嵌套并行238

18.1 动机238

18.2 基准测试238

18.3 基线基准测试239

18.4 流水线方法——Flat arena类240

18.5 Intel TBB用户管理任务调度平台241

18.6 分层方法——Hierarchical_arena类243

18.7 性能评估243

18.8 对NUMA架构的影响245

18.9 总结246

18.10 更多信息246

第19章 Black-Scholes定价的性能优化248

19.1 金融市场模型基础及Black-Scholes公式248

19.1.1 金融市场数学模型248

19.1.2 欧式期权和公平价格概念249

19.1.3 Black.Scholes公式250

19.1.4 期权定价250

19.1.5 测试平台架构250

19.2 案例研究251

19.2.1 初始版本——检验正确性251

19.2.2 参照版本——选择合适的数据结构251

19.2.3 参照版本——不要混合使用数据类型252

19.2.4 循环向量化253

19.2.5 使用快速数学函数:erff()与cdfnormf()255

19.2.6 代码等价变换256

19.2.7 数组对齐257

19.2.8 尽可能降低精度258

19.2.9 并行工作259

19.2.10 使用热身260

19.2.11 使用Intel Xeon Phi协处理器实现轻松移植261

19.2.12 使用Intel Xeon Phi协处理器实现并行工作261

19.2.13 使用Intel Xeon Phi协处理器和流存储262

19.3 总结263

19.4 更多信息264

第20章 使用Intel COI库传输数据265

20.1 使用Intel COI库的第一步265

20.2 COI缓冲区种类和传输性能266

20.3 应用程序269

20.4 总结270

20.5 更多信息270

第21章 高性能光线追踪271

21.1 背景272

21.2 向量化的光线遍历272

21.3 Embree光线追踪内核273

21.4 在应用程序中使用Embree274

21.5 性能276

21.6 总结277

21.7 更多信息278

第22章 OpenCL程序的可移植性能279

22.1 两难的困境279

22.2 OpenCL简介280

22.3 OpenCL示例:矩阵乘282

22.4 OpenCL与Intel Xeon Phi协处理器285

22.5 性能评估285

22.6 案例研究:分子对接算法287

22.7 性能评估:性能可移植性289

22.8 相关工作291

22.9 总结291

22.10 更多信息291

第23章 应用到Stencil计算中的特性提取和优化方法292

23.1 引言292

23.2 性能评估293

23.2.1 测试平台的 AI293

23.2.2 内核的AI294

23.3 标准优化296

23.3.1 自动应用调试301

23.3.2 自动调试工具304

23.3.3 结果305

23.4 总结305

23.5 更多信息307

第24章 剖析指导优化308

24.1 计算机科学中的矩阵转置308

24.2 工具和方法309

24.3 串行:初始的就地转置实现310

24.4 并行:使用OpenMP增加并行度313

24.5 分块:提高数据局部性315

24.6 规范化:多版本微内核319

24.7 预组织:释放更多的并行性322

24.8 总结326

24.9 更多信息327

第25章 基于ITAC的异构MPI应用优化328

25.1 亚式期权定价328

25.2 应用设计329

25.3 异构集群中的同步330

25.4 通过ITAC寻找性能瓶颈331

25.5 建立ITAC331

25.6 非均衡的MPI运行332

25.7 手动负载均衡335

25.8 动态老板-工人负载均衡337

25.9 结论339

25.10 更多信息340

第26章 集群上可扩展OOC解法器341

26.1 引言341

26.2 基于ScaLAPACK的OOC分解算法342

26.2.1 核内分解342

26.2.2 OOC分解343

26.3 从NVIDIA GPU移植到Intel Xeon Phi协处理器344

26.4 数值结果346

26.5 结论和展望350

26.6 致谢350

26.7 更多信息350

第27章 稀疏矩阵向量乘:并行化和向量化352

27.1 引言352

27.2 稀疏矩阵数据结构353

27.2.1 压缩后的数据结构354

27.2.2 分块356

27.3 并行SpMV乘法356

27.3.1 部分分布式并行SpMV356

27.3.2 完全分布式并行SpMV357

27.4 Intel Xeon Phi协处理器的向量化358

27.5 评估362

27.5.1 Intel Xeon Phi协处理器363

27.5.2 Intel Xeon处理器365

27.5.3 性能比较366

27.6 总结366

27.7 致谢367

27.8 更多信息367

第28章 基于Morton排序的性能优化368

28.1 通过数据重排提高缓存局部性368

28.2 性能改进368

28.3 矩阵转置369

28.4 矩阵乘法373

28.5 总结377

28.6 更多信息378

热门推荐