摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第1章 绪论 | 第13-25页 |
1.1 研究背景 | 第13-18页 |
1.1.1 处理器发展现状 | 第13-14页 |
1.1.2 神威·太湖之光与申威异构众核处理器SW26010 | 第14-17页 |
1.1.3 分子动力学模拟对平台计算能力的需求 | 第17-18页 |
1.2 神威·太湖之光上应用并行实现和性能优化所面临的挑战 | 第18-22页 |
1.2.1 并行模式方面所面临的挑战 | 第18-20页 |
1.2.2 存储结构方面所面临的的挑战 | 第20-21页 |
1.2.3 访存特性方面所面临的的挑战 | 第21-22页 |
1.3 论文研究目标和主要工作 | 第22-23页 |
1.3.1 分子动力学软件GROMACS在神威·太湖之光上的并行实现 | 第22-23页 |
1.3.2 分子动力学软件GROMACS在神威·太湖之光上的性能优化 | 第23页 |
1.4 论文结构 | 第23-25页 |
第2章 相关工作 | 第25-33页 |
2.1 GROMACS软件介绍 | 第25-27页 |
2.1.1 软件简介与版本迭代 | 第25-26页 |
2.1.2 软件工作流程 | 第26-27页 |
2.2 GROMACS在同构多核CPU平台上的并行实现 | 第27-28页 |
2.3 GROMACS在异构加速平台上的并行实现 | 第28-31页 |
2.3.1 在“CPU-GPU”平台上的并行实现 | 第28-29页 |
2.3.2 在Cell处理器平台上的并行实现 | 第29-31页 |
2.4 本章小结 | 第31-33页 |
第3章 GROMACS在神威·太湖之光上的并行实现 | 第33-43页 |
3.1 热点函数结构分析 | 第33-35页 |
3.1.1 热点函数耗时占比 | 第33-34页 |
3.1.2 热点函数代码框架 | 第34-35页 |
3.1.3 热点函数数据结构 | 第35页 |
3.2 GROMACS在主核上的移植 | 第35-37页 |
3.3 GROMACS在从核阵列上的并行化 | 第37-41页 |
3.3.1 任务划分粒度和从核加速线程库 | 第37-38页 |
3.3.2 从核任务划分策略 | 第38-39页 |
3.3.3 消除从核数据依赖 | 第39页 |
3.3.4 三级流水线并行 | 第39-41页 |
3.4 本章小结 | 第41-43页 |
第4章 GROMACS在神威·太湖之光上的性能优化 | 第43-61页 |
4.1 热点函数访存特征分析 | 第43-44页 |
4.2 从核访存优化 | 第44-48页 |
4.2.1 充分利用从核私有存储空间暂存数据 | 第44-46页 |
4.2.2 使用DMA降低从核访存的时间开销 | 第46-48页 |
4.3 手动实现软件Cache | 第48-52页 |
4.3.1 内外层循环倒置 | 第49页 |
4.3.2 数据预取策略 | 第49-50页 |
4.3.3 数据替换策略 | 第50页 |
4.3.4 数据重用策略 | 第50-51页 |
4.3.5 输出数据的缓冲Buffer | 第51页 |
4.3.6 软件Cache大小对热点函数性能的影响 | 第51-52页 |
4.4 从核混合并行模式 | 第52-56页 |
4.4.1 调度核功能设计 | 第52-53页 |
4.4.2 计算核功能设计 | 第53-54页 |
4.4.3 调度核与计算核协同计算 | 第54-56页 |
4.5 手动向量化 | 第56-58页 |
4.6 本章小结 | 第58-61页 |
第5章 GROMACS性能测试与分析 | 第61-69页 |
5.1 实验平台 | 第61-62页 |
5.2 不同优化策略的加速效果 | 第62-64页 |
5.3 从核数目对软件性能的影响 | 第64-66页 |
5.4 多节点扩展效果 | 第66-67页 |
5.5 本章小结 | 第67-69页 |
第6章 全文总结 | 第69-73页 |
6.1 研究工作总结 | 第69-70页 |
6.2 本文创新点 | 第70页 |
6.3 未来工作展望 | 第70-73页 |
参考文献 | 第73-77页 |
致谢 | 第77-79页 |
在读期间发表的学术论文与取得的研究成果 | 第79-81页 |
在读期间参与的科研项目 | 第81页 |