首页> 中文学位 >面向千万亿次CPU-GPU异构系统的编程模型与性能优化关键技术研究
【6h】

面向千万亿次CPU-GPU异构系统的编程模型与性能优化关键技术研究

代理获取

目录

封面

声明

目录

中文摘要

英文摘要

第一章 绪论

1.1 研究背景

1.2 相关工作

1.3 研究内容

1.4 主要创新

1.5 论文组织

第二章 千万亿次CPU-GPU异构系统并行编程模型研究

2.1 千万亿次系统MPI/OpenMP/Streaming混合编程模型

2.2 混合编程模型的任务映射

2.3 基于共享内存的多进程共享GPU技术

2.4 本章小结

第三章 从千万亿次扩展到百万万亿次编程模型分析

3.1 未来E级系统的发展趋势

3.2 结点间MPI编程和全系统MPI+X混合编程模型分析

3.3 结点内编程模型的需求

3.4 结点内编程模型分析与总结

3.5 本章小结

第四章 基于测量的自适应任务划分

4.1 异构计算平台任务划分问题的提出

4.2 基于测量的自适应任务划分

4.3 实验与讨论

4.4 本章小结

第五章 嵌套双缓冲软件流水技术

5.1 软件流水的提出

5.2 嵌套双缓冲软件流水

5.3 Cache旁路的流式数据拷贝优化

5.4 基于天河-1平台评测

5.5 本章小结

第六章 千万亿次CPU-GPU异构系统LINPACK实现与优化

6.1 千万亿次CPU-GPU异构系统

6.2 LINPACK编程

6.3 优化方法

6.4 实验

6.5 本章小结

第七章 结论与展望

7.1 论文工作总结

7.2 课题研究展望

致谢

参考文献

作者在学期间取得的学术成果

展开▼

摘要

科学计算永无止境的计算需求驱动着高性能计算机系统进入了千万亿次时代,面向千万亿次系统的各种关键技术将是未来构建百万万亿次系统的基石。受到CMOS工艺特征尺寸、功耗和散热等技术的限制,完全依靠CPU提供计算能力的同构计算机系统在到达千万亿次系统规模后很难再进行扩充。而使用GPU作为加速器的异构系统在性能功耗比方面比同构系统更有优势,也是构建百万万亿次系统最有前景的技术路线之一。2010年11月国防科大计算机学院为天津超算中心构建的天河-1A使用了NVIDIA的Fermi GPU,以2.566 PFLOPS的可持续运算速度排名世界第一。这种CPU-GPU异构系统提供了强大的计算能力,但用户编程和性能优化都与传统的同构计算机不同,成为发挥整个系统性能的关键。针对目前大规模异构系统上应用程序编程难、优化难的问题,本文以千万亿次CPU-GPU异构系统为平台,研究了异构系统的编程模型以及优化方法。
  本研究主要内容包括:⑴在千万亿次CPU-GPU异构计算机系统上引入了MPI/OpenMP/Streaming混合编程模型,并扩展至全系统规模。针对混合编程模型中软件任务到硬件资源映射的问题,提出了以结点为中心的任务映射、以CPU为中心的任务映射和以GPU为中心的任务映射。并针对大规模并行系统结点内编程模型总结出7项需求:简单易用性、性能可扩展性、存储可扩展性、模型层次性、调度灵活性、模型异构性、定位准确性,用于评估目前的编程模型。另外,提出了基于共享内存的多进程共享使用GPU的方法,并给出了高效编程实现。⑵基于测量的自适应任务划分技术。我们将所有的任务放在一个任务队列中,循环地从任务队列中获取任务,每次取出的任务根据当前的“任务划分比率”划分成CPU执行和加速器执行两部分,初始的“任务划分比率”由CPU和加速器的理论计算峰值得到。划分完毕之后在异构平台上执行,并在执行完毕进行实际性能测量,将统计得到的性能结果和本次划分的任务负载相结合,更新“任务划分比率”,作为下次任务划分的依据。由于每次任务划分并执行完毕后,任务划分比率都被自适应地调整,使得主机和加速器之间的任务分配获得了很好的负载平衡效果,大大提升了异构系统的计算效率。⑶基于有限状态自动机的嵌套双缓冲软件流水技术。GPU程序的执行分为数据输入、GPU计算、数据输出三个部分。我们分析了异构系统上软件流水的执行模型和代价模型,并设计了嵌套双缓冲软件流水机制。在实现过程中,我们使用了基于有限状态自动机的方法,用单个CPU线程控制了多任务的输入、执行和输出,并将三者有序的重叠执行。实验表明,这种方法极大缓解了主机和加速器间带宽不足的问题,能有效解决原有GPU库性能波动的问题。针对BLAS3中DGEMM不同问题规模的测试,平均性能提升达到7.61%。⑷在千万亿次 CPU-GPU异构系统上设计并实现了高效的LINPACK程序(Hybrid-LINPACK)。首先设计并实现了能够同时使用CPU和GPU计算能力的异构BLAS库,然后基于异构BLAS库,使用了MPI/OpenMP/Streaming混合编程模型,结合同构系统上的高性能LINPACK实现(HPL2.0),实现并优化了Hybrid-LINPACK。优化方法主要涉及CPU与GPU的任务划分、CPU与GPU的通信优化、SWAP算法并行化优化、结点间数据传输优化、以及HPL传统的优化方法和参数调优等。Hybrid-LINPACK充分发挥了硬件和体系结构设计提供的强大计算和通信能力,在天河-1单个计算单元上比AMD发布的LINPACK实现取得了3.3倍的加速比,获得70.1%的计算效率。最终全系统LINPACK测试在天河-1和天河-1A上分别取得了0.563 PFLOPS和2.566 PFLOPS的实测性能。使得天河-1在2009年11月排名TOP500第五,天河-1A在2010年11月排名第一,都创下我国超级计算机TOP500排名历史上的最好成绩。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号