摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第1章 绪论 | 第14-24页 |
1.1 研究背景 | 第14-21页 |
1.1.1 神威·太湖之光 | 第14-18页 |
1.1.2 传统编程模型在神威·太湖之光上面临的挑战 | 第18-19页 |
1.1.3 数据流模型 | 第19-21页 |
1.2 论文研究目标和主要工作 | 第21-22页 |
1.3 论文结构 | 第22-24页 |
第2章 相关研究工作 | 第24-34页 |
2.1 现有的若干基于数据流的编程模型 | 第24-27页 |
2.1.1 SWARM | 第24-25页 |
2.1.2 Charm++ | 第25-26页 |
2.1.3 TensorFlow | 第26-27页 |
2.2 Codelet程序执行模型 | 第27-30页 |
2.2.1 基本单元 | 第27-28页 |
2.2.2 激发规则 | 第28页 |
2.2.3 Codelet Graph | 第28页 |
2.2.4 Threaded Procedure | 第28-29页 |
2.2.5 抽象机器模型 | 第29-30页 |
2.3 DARTS运行时系统 | 第30-33页 |
2.3.1 运行时系统的实现 | 第30-32页 |
2.3.2 实例研究 | 第32-33页 |
2.4 本章小结 | 第33-34页 |
第3章 SunwayFlow:神威·太湖之光上的一种数据流编程模型 | 第34-44页 |
3.1 机器模型的抽象 | 第34-37页 |
3.1.1 单核组单SU方案 | 第34-35页 |
3.1.2 单核组多SU方案 | 第35-36页 |
3.1.3 本文采取的映射方案 | 第36-37页 |
3.2 程序执行模型的设计 | 第37-39页 |
3.2.1 去除TP结构 | 第37-38页 |
3.2.2 预激发状态 | 第38-39页 |
3.3 编程接口 | 第39-43页 |
3.3.1 Runtime类 | 第40页 |
3.3.2 SchedulingUint类 | 第40-41页 |
3.3.3 ComputeUnit类 | 第41页 |
3.3.4 Codelet类 | 第41页 |
3.3.5 本节小结 | 第41-43页 |
3.4 本章小结 | 第43-44页 |
第4章 SunwayFlow运行时系统的设计与实现 | 第44-54页 |
4.1 运行机制 | 第44-48页 |
4.1.1 Codelet状态转换 | 第44-45页 |
4.1.2 SU和CU的协作模式 | 第45页 |
4.1.3 CU运行机制 | 第45-47页 |
4.1.4 数据移动 | 第47-48页 |
4.2 关键技术 | 第48-53页 |
4.2.1 状态变量倍增 | 第48-49页 |
4.2.2 ID池 | 第49-50页 |
4.2.3 就绪codelet队列 | 第50页 |
4.2.4 任务分配与执行 | 第50-51页 |
4.2.5 资源释放与调度管理 | 第51-52页 |
4.2.6 SU优先模式 | 第52页 |
4.2.7 虚拟CU模式 | 第52-53页 |
4.3 本章小结 | 第53-54页 |
第5章 实例研究 | 第54-68页 |
5.1 HPCG概述 | 第54-56页 |
5.2 强数据依赖的核心计算函数优化 | 第56-61页 |
5.2.1 SymGS算法简述 | 第57页 |
5.2.2 Multi-coloring方法 | 第57-58页 |
5.2.3 数据流优化方法 | 第58-60页 |
5.2.4 实验结果分析 | 第60-61页 |
5.3 无数据依赖的核心计算函数优化 | 第61-63页 |
5.3.1 SPMV优化 | 第62-63页 |
5.3.2 DDOT和WAXPBY优化 | 第63页 |
5.4 HPCG整体性能测试分析 | 第63-66页 |
5.4.1 串行版本性能测试分析 | 第63-64页 |
5.4.2 MPI版本性能测试分析 | 第64-65页 |
5.4.3 本节小结 | 第65-66页 |
5.5 本章小结 | 第66-68页 |
第6章 全文总结 | 第68-72页 |
6.1 研究工作总结 | 第68-69页 |
6.2 主要创新点 | 第69-70页 |
6.3 未来工作展望 | 第70-72页 |
参考文献 | 第72-75页 |
致谢 | 第75-76页 |
在读期间发表的学术论文与取得的研究成果 | 第76-77页 |
在读期间参与的科研项目 | 第77页 |