目录
目 录
第 1 章 引言 1
1.1 本书背景及意义 1
1.1.1 性能分析技术的现状 4
1.1.2 性能优化技术的现状 5
1.2 大规模并行程序性能分析与优化面临的关键问题 6
1.3 本书的主要研究内容与贡献 8
1.3.1 本书的主要贡献 8
1.3.2 本书的组织及各章内容简介 9
第 2 章 相关工作 11
2.1 性能分析相关研究 11
2.1.1 程序分析 11
2.1.2 性能分析技术 14
2.2 性能预测相关研究 18
2.2.1 性能建模 18
2.2.2 性能模拟 21
2.3 性能优化相关研究 22
2.3.1 并行程序优化 22
2.3.2 统一编程模型 23
2.3.3 自动优化框架 24
第 3 章 基于图的并行程序可扩展性瓶颈检测 26
3.1 整体框架 28
3.2 图的生成 29
3.2.1 静态分析 29
3.2.2 动态分析 34
3.2.3 程序性能图的生成 41
3.3 可扩展性瓶颈检测 42
3.3.1 性能问题顶点检测 42
3.3.2 反向追踪根因分析 44
3.4 实现与使用方法 46
3.5 实验结果 47
3.5.1 实验环境 47
3.5.2 程序结构图分析 48
3.5.3 开销分析 49
3.5.4 应用案例 51
3.6 小结 57
第 4 章 面向性能分析的领域特定编程框架 59
4.1 整体框架 62
4.1.1 PerFlow系统框架 62
4.1.2 编程示例:通信分析任务 64
4.2 程序性能抽象 64
4.2.1 程序抽象图的定义 65
4.2.2 静动态分析 66
4.2.3 程序抽象图的构建 66
4.2.4 程序抽象图的视图 69
4.3 性能分析过程抽象 71
4.3.1 性能分析数据流图 71
4.3.2 性能分析数据流图的元素 72
4.3.3 性能分析子任务 73
4.3.4 性能分析范例 76
4.3.5 框架的使用方法 78
4.4 实验结果 79
4.4.1 实验配置 79
4.4.2 开销分析 80
4.4.3 程序抽象图信息 81
4.4.4 应用案例 82
4.5 小结 93
第 5 章 异步策略感知的精确性能建模 95
5.1 整体框架 96
5.2 模块内建模 98
5.2.1 层次化建模技术 98
5.2.2 解析—统计结合的建模技术 99
5.3 模块间模拟 101
5.3.1 异步策略表达 101
5.3.2 硬件感知性能模拟 101
5.4 HPL 分析 103
5.4.1 HPL 介绍 103
5.4.2 HPL 各模块的模块内模型 105
5.5 实验与分析 107
5.5.1 实验配置 107
5.5.2 端到端预测精度测试 108
5.5.3 模块预测精度测试 110
5.5.4 假设分析 110
5.5.5 预测效率测试 112
5.6 小结 112
第 6 章 面向领域的多层次性能优化框架 114
6.1 框架设计 115
6.2 面向计算流体力学领域的中间表达和语言 117
6.2.1 领域中间表达 117
6.2.2 领域特定语言 121
6.3 多层次中间表达递降 125
6.3.1 领域中间表达递降 126
6.3.2 通用中间表达递降 126
6.4 多层次感知优化 128
6.4.1 领域级优化 128
6.4.2 通用优化 132
6.4.3 硬件级优化 132
6.5 实验. 134
6.5.1 实验配置 134
6.5.2 端到端性能 135
6.5.3 性能模型的有效性测试 135
6.6 小结 139
第 7 章 总结与展望 140
7.1 本书工作总结 140
7.2 后续研究方向 141
参考文献 143
致谢 156