两本 “Pearls” 集合了大量关于代码现代化的有用示例、软件开发人员关于如何修改代码的介绍,以及对有用修改与无用修改的评论。 无论是否购买了这些书籍,您都可以通过http://lotsofcores.com下载这些实际应用的代码。 图表也免费提供,是为选择使用这些示例讲解代码现代化技巧的讲师们准备的真正福利。 这些书籍由 James Reinders 和 Jim Jeffers 编辑成册,第一册的撰稿人有 67 人,第二册的撰稿人有 73 人。
专家们撰文介绍了他们将并行性添加至实际应用的经验。 大多数示例论述了基于处理器和英特尔至强融核协处理器的结果。 每个章节均包含撰稿人将并行性添加至应用时的思路,因此扩展、参考位置和矢量化等关键问题是多次出现在书中的主题。 撰稿人通过逐步论述思路和分析结果,对实际代码进行了展示和探讨。 尽管 OpenMP* 和 MPI 是实现并行的主要方法,但书中还介绍了 TBB、OpenCL 和其他模式的用法。 Fortran、C 和 C++ 等语言的使用始终非常平衡。 如此多样化的实际示例,为读者向其他专家学习提供了非常好的机会。
第一册包含以下章节:
前言由 CERN Sverre Jarp 所作。
第 1 章:简介
第 2 章:从‘准确’到‘准确高效’: 基于 Godunov 差分格式的 Hydro2D 案例研究
第 3 章:在 HBM 上实现更出色的并发性和 SIMD
第 4 章:优化以反应 Navier-Stokes方程
第 5 章:准同步阶段划分障碍
第 6 章:故障树表达的并行评估
第 7 章:深度学习与数值优化
第 8 章:优化收敛/发散模式
第 9 章:直接 N 体问题的众核实施
第 10 章:N 体方法
第 11 章:使用 OpenMP 4.0 实现动态负载平衡
第 12 章:并发式内核卸载
第 13 章:基于 MPI 的异构计算
第 14 章:英特尔® 至强融核™ 协处理器的能耗分析
第 15 章:将英特尔至强融核协处理器集成至集群环境
第 16 章:在英特尔® 至强融核™ 协处理器上支持集群文件系统
第 17 章:NWChem: 大规模量子化学仿真
第 18 章:基于大规模系统的高效嵌套并行性
第 19 章:Black-Scholes 期权定价的性能优化
第 20 章:使用英特尔 COI 库进行数据传输
第 21 章:高性能光线跟踪
第 22 章:基于 OpenCL 的可移植性能
第 23 章:应用于模板计算的特征分析与优化方法
第 24 章:分析指导下的优化
第 25 章:基于 ITAC 的异构 MPI 优化
第 26 章:基于集群的可扩展核外解算器
第 27 章:稀疏矩阵矢量乘法: 并行化与矢量化
第 28 章:莫顿顺序改善性能
第二册包含以下章节:
前言由 TACC Dan Stanzione 所作
第 1 章: 简介
第 2 章: 数字化天气预报优化
第 3 章: WRF Goddard 微观物理学方案优化
第 4 章: 成对 DNA 序列比对优化
第 5 章: 面向药品研发加速结构生物信息学
第 6 章: Amber PME 分子动力学优化
第 7 章: 面向金融服务的低延迟解决方案
第 8 章: 金融领域的并行数值方法
第 9 章: 源于格点 QCD 的 Wilson Dslash 内核优化
第 10 章: 宇宙微波背景分析: 实践过程中的嵌套并行性
第 11 章: 可视化搜索优化
第 12 章: 射频光线追踪
第 13 章: 发掘保留内核的用法
第 14 章: 高性能 Python 卸载
第 15 章: 基于异步数据流的快速矩阵计算
第 16 章: MPI-3 共享内存编程简介
第 17 章: 面向可扩展混合并行性的粗粒度 OpenMP
第 18 章: 发掘基于 OpenMP 的多层并行性
第 19 章: OpenCL: 去而复返
第 20 章: OpenMP 与 OpenCL: 性能不同?
第 21 章: 预取调优优化
第 22 章: 通过 OpenMP 的 SIMD 函数
第 23 章: 矢量化建议
第 24 章: 可移植显式矢量化内联函数
第 25 章: 应用与数据中心的功耗分析