面向异构平台的OpenMP程序自动卸载及优化
发布时间:2022-02-21 08:51
随着信息化社会的飞速发展,互联网需要处理的信息量也在短时间内不断累积,对于数据和计算处理的需求也在日益增长,这也推动高性能计算的飞速发展。CPU处理器逐渐无法匹配高性能计算程序的性能要求,由CPU和加速器构成的异构计算体系,成为了新的选择。将复杂计算的程序移植到GPU等加速器上运行,不仅可以有效地提升计算性能,缩短计算时间,同时也可以充分发挥加速器的计算优势,降低能耗。本文针对并行程序的移植,提出了一种面向异构平台的并行程序的自动卸载以及优化方案,实质是一个自动源到源的编译器,定义名称为Open MP Automated Offloading,简称为OAO。其针对Open MP程序,整个编译器系统由信息收集模块,自动转换模块和运行时模块三部分组成。信息收集模块使用LLVM编译器的一个前端Clang来对源程序进行分析,同时在此模块提出串并行图的概念,实现对程序串行域和并行域的分割。为了保证数据传输过程中的一致性,在自动转换模块引入了自行设计的数据传输模型,并在此过程中对传输进行优化,保证传输的最简化,此外,利用统一内存对复杂数据结构进行技术支持。在运行时模块,提出引入运行时API的方法,...
【文章来源】:哈尔滨工业大学黑龙江省211工程院校985工程院校
【文章页数】:87 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
第1章 绪论
1.1 课题背景及研究的目的和意义
1.2 相关领域国内外研究现状
1.2.1 CPU/GPU异构并行编程模型
1.2.2 CPU/GPU异构程序自动转换
1.2.3 数据传输及统一内存
1.2.4 国内外文献综述的简析
1.3 本文主要研究内容
1.4 本文的组织结构
第2章 Open MP程序自动卸载系统的需求分析
2.1 系统功能需求
2.1.1 信息收集模块
2.1.2 自动转换模块
2.1.3 运行时模块
2.2 系统性能需求
2.3 系统安全性需求
2.4 本章小结
第3章 Open MP程序自动卸载系统的设计
3.1 OPENMP程序自动卸载系统的总体设计
3.2 OPENMP程序自动卸载系统的详细设计
3.2.1 信息收集模块的设计
3.2.2 自动转换模块的设计
3.2.3 运行时模块的设计
3.3 本章小结
第4章 Open MP程序自动卸载系统的实现
4.1 信息收集模块实现
4.1.1 代码分析方法
4.1.2 代码分析过程
4.2 自动转换模块实现
4.2.1 标量处理
4.2.2 简单数组类型处理
4.2.3 数据传输模型
4.2.4 复杂数据结构类型处理
4.2.5 代码转换
4.3 运行时模块实现
4.3.1 引入运行时API
4.3.2 运行时内部实现
4.3.3 运行时函数调用
4.4 本章小结
第5章 Open MP程序自动卸载系统的测试
5.1 实验环境介绍
5.2 实验设计及过程测试
5.3 实验结果分析
5.3.1 运行时间
5.3.2 加速比
5.3.3 性能提升
5.3.4 数据传输
5.3.5 运行时开销
5.3.6 统一内存测试
5.4 本章小结
结论
参考文献
攻读硕士学位期间发表的论文及其它成果
致谢
个人简历
【参考文献】:
期刊论文
[1]高性能计算机发展与政策[J]. 孙凝晖,谭光明. 中国科学院院刊. 2019(06)
[2]基于混合分析的二进制程序控制流图构建方法[J]. 朱凯龙,陆余良,黄晖,邓兆琨,邓一杰. 浙江大学学报(工学版). 2019(05)
[3]NVIDIA黄仁勋:未来GPU无处不在[J]. 姜姝姝. 机器人产业. 2016(05)
[4]基于控制流分析的软件源代码静态测试技术的研究[J]. 皮筛成,游辉敏. 科学大众(科学教育). 2016(06)
[5]OpenACC到MIC平台上并行程序的自动翻译及优化[J]. 江霞,安虹,梁伟浩,张爱民,李丰. 小型微型计算机系统. 2016(04)
[6]摩尔定律终结,计算的未来在哪里[J]. 李雨蒙. 中国民商. 2016(04)
[7]异构并行编程模型研究与进展[J]. 刘颖,吕方,王蕾,陈莉,崔慧敏,冯晓兵. 软件学报. 2014(07)
[8]C语言静态代码分析中的调用关系提取方法[J]. 江梦涛,荆琦. 计算机科学. 2014(S1)
[9]程序静态分析技术与工具[J]. 杨宇,张健. 计算机科学. 2004(02)
博士论文
[1]面向多核的并行模式及编译优化技术研究[D]. 郭惠芳.解放军信息工程大学 2011
硕士论文
[1]基于LLVM-Clang的软件静态检测工具研究与实现[D]. 李昊.西安理工大学 2017
[2]基于GPU的外辐射源雷达DOA估计实现技术[D]. 周伯成.西安电子科技大学 2014
[3]基于静态分析的C程序控制流图构造方法研究[D]. 任浩.内蒙古师范大学 2013
本文编号:3636916
【文章来源】:哈尔滨工业大学黑龙江省211工程院校985工程院校
【文章页数】:87 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
第1章 绪论
1.1 课题背景及研究的目的和意义
1.2 相关领域国内外研究现状
1.2.1 CPU/GPU异构并行编程模型
1.2.2 CPU/GPU异构程序自动转换
1.2.3 数据传输及统一内存
1.2.4 国内外文献综述的简析
1.3 本文主要研究内容
1.4 本文的组织结构
第2章 Open MP程序自动卸载系统的需求分析
2.1 系统功能需求
2.1.1 信息收集模块
2.1.2 自动转换模块
2.1.3 运行时模块
2.2 系统性能需求
2.3 系统安全性需求
2.4 本章小结
第3章 Open MP程序自动卸载系统的设计
3.1 OPENMP程序自动卸载系统的总体设计
3.2 OPENMP程序自动卸载系统的详细设计
3.2.1 信息收集模块的设计
3.2.2 自动转换模块的设计
3.2.3 运行时模块的设计
3.3 本章小结
第4章 Open MP程序自动卸载系统的实现
4.1 信息收集模块实现
4.1.1 代码分析方法
4.1.2 代码分析过程
4.2 自动转换模块实现
4.2.1 标量处理
4.2.2 简单数组类型处理
4.2.3 数据传输模型
4.2.4 复杂数据结构类型处理
4.2.5 代码转换
4.3 运行时模块实现
4.3.1 引入运行时API
4.3.2 运行时内部实现
4.3.3 运行时函数调用
4.4 本章小结
第5章 Open MP程序自动卸载系统的测试
5.1 实验环境介绍
5.2 实验设计及过程测试
5.3 实验结果分析
5.3.1 运行时间
5.3.2 加速比
5.3.3 性能提升
5.3.4 数据传输
5.3.5 运行时开销
5.3.6 统一内存测试
5.4 本章小结
结论
参考文献
攻读硕士学位期间发表的论文及其它成果
致谢
个人简历
【参考文献】:
期刊论文
[1]高性能计算机发展与政策[J]. 孙凝晖,谭光明. 中国科学院院刊. 2019(06)
[2]基于混合分析的二进制程序控制流图构建方法[J]. 朱凯龙,陆余良,黄晖,邓兆琨,邓一杰. 浙江大学学报(工学版). 2019(05)
[3]NVIDIA黄仁勋:未来GPU无处不在[J]. 姜姝姝. 机器人产业. 2016(05)
[4]基于控制流分析的软件源代码静态测试技术的研究[J]. 皮筛成,游辉敏. 科学大众(科学教育). 2016(06)
[5]OpenACC到MIC平台上并行程序的自动翻译及优化[J]. 江霞,安虹,梁伟浩,张爱民,李丰. 小型微型计算机系统. 2016(04)
[6]摩尔定律终结,计算的未来在哪里[J]. 李雨蒙. 中国民商. 2016(04)
[7]异构并行编程模型研究与进展[J]. 刘颖,吕方,王蕾,陈莉,崔慧敏,冯晓兵. 软件学报. 2014(07)
[8]C语言静态代码分析中的调用关系提取方法[J]. 江梦涛,荆琦. 计算机科学. 2014(S1)
[9]程序静态分析技术与工具[J]. 杨宇,张健. 计算机科学. 2004(02)
博士论文
[1]面向多核的并行模式及编译优化技术研究[D]. 郭惠芳.解放军信息工程大学 2011
硕士论文
[1]基于LLVM-Clang的软件静态检测工具研究与实现[D]. 李昊.西安理工大学 2017
[2]基于GPU的外辐射源雷达DOA估计实现技术[D]. 周伯成.西安电子科技大学 2014
[3]基于静态分析的C程序控制流图构造方法研究[D]. 任浩.内蒙古师范大学 2013
本文编号:3636916
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3636916.html