CPU/GPU异构多核虚拟执行环境框架的设计与实现
发布时间:2021-02-15 22:18
近几年来,拥有着强大并行处理能力的GPU(Graphic Process Unit)得到了飞速的发展,从而也使得CPU/GPU的架构越来越流行。目前除了使用显式的编程方法比如NVIDIA提供的CUDA(Compute Unified Device Architecture)以及AMD的Stream SDK外,我们并无其它方式来挖掘GPU的并行处理能力。然而在使用显式编程的过程中我们也会碰到重写源代码的耗时问题跟二进制不兼容性问题。一方面,当前有着很多的计算型密集型程序是采用C、C++或其它高级编程语言编写,而这些应用如果想要使用GPU的并行处理能力来缩短程序的执行时间,那么采用显式编程的方式来修改或是重写整个源代码是不可避免的,而更为糟糕的是有些时候我们根本拿不到程序的源代码;另一方面,即使这些应用的源代码按要求被重写后也会产生二进制不兼容性问题:一个在显式编程环境下编译的可执行程序在不同厂商,哪怕是同一厂商的不同型号GPU上将无法或无法正常运行。为了解决重写源代码的耗时跟二进制不兼容性问题,本文的研究目的是通过扩展自主研发的多源多目标的动态二进制翻译系统Crossbit来提供一种虚拟...
【文章来源】:上海交通大学上海市 211工程院校 985工程院校 教育部直属院校
【文章页数】:77 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
插图索引
表格索引
第一章 绪论
1.1 研究背景
1.2 国内外研究现状
1.2.1 二进制翻译
1.2.2 异构多核架构
1.2.3 代码划分问题
1.2.4 串行代码并行化
1.3 论文的主要工作
1.4 论文结构
第二章 二进制翻译简介
2.1 二进制翻译技术概述
2.2 二进制翻译技术分类
2.2.1 解释执行
2.2.2 静态二进制翻译
2.2.3 动态二进制翻译
2.2.4 三种二进制翻译技术的比较
2.3 基础研究平台Crossbit
2.3.1 Crossbit概述
2.3.2 Crossbit系统框架
2.3.3 Crossbit中间指令
2.3.4 Crossbit性能评估
2.4 本章总结
第三章 虚拟执行环境GXBit框架的设计与实现
3.1 虚拟执行环境GXBit的框架
3.1.1 执行模式的选取
3.1.2 GXBit的框架设计
3.2 GXBit的总体流程
3.3 中间指令的扩展
3.4 GXBit分析阶段的实现
3.4.1 潜在可并行部分的提取
3.4.2 迭代间数据依赖探测
3.4.3 可并行部分的存储
3.4.4 可并行部分的数据存储
3.5 GXBit执行阶段的实现
3.5.1 GXBit执行引擎
3.5.2 CUDA编程模型介绍
3.5.3 PTX代码的生成
3.5.4 PTX代码的加载与执行
3.6 本章总结
第四章 虚拟执行环境性能的评估与分析
4.1 测试环境与测试对象
4.2 性能评估与分析
4.2.1 矩阵乘
4.2.2 快速傅立叶变换
4.2.3 Parboil测试套件
4.2.4 性能加速比
4.3 本章总结
第五章 总结与展望
5.1 全文总结
5.2 未来展望
参考文献
致谢
攻读学位期间发表的学术论文目录
本文编号:3035627
【文章来源】:上海交通大学上海市 211工程院校 985工程院校 教育部直属院校
【文章页数】:77 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
插图索引
表格索引
第一章 绪论
1.1 研究背景
1.2 国内外研究现状
1.2.1 二进制翻译
1.2.2 异构多核架构
1.2.3 代码划分问题
1.2.4 串行代码并行化
1.3 论文的主要工作
1.4 论文结构
第二章 二进制翻译简介
2.1 二进制翻译技术概述
2.2 二进制翻译技术分类
2.2.1 解释执行
2.2.2 静态二进制翻译
2.2.3 动态二进制翻译
2.2.4 三种二进制翻译技术的比较
2.3 基础研究平台Crossbit
2.3.1 Crossbit概述
2.3.2 Crossbit系统框架
2.3.3 Crossbit中间指令
2.3.4 Crossbit性能评估
2.4 本章总结
第三章 虚拟执行环境GXBit框架的设计与实现
3.1 虚拟执行环境GXBit的框架
3.1.1 执行模式的选取
3.1.2 GXBit的框架设计
3.2 GXBit的总体流程
3.3 中间指令的扩展
3.4 GXBit分析阶段的实现
3.4.1 潜在可并行部分的提取
3.4.2 迭代间数据依赖探测
3.4.3 可并行部分的存储
3.4.4 可并行部分的数据存储
3.5 GXBit执行阶段的实现
3.5.1 GXBit执行引擎
3.5.2 CUDA编程模型介绍
3.5.3 PTX代码的生成
3.5.4 PTX代码的加载与执行
3.6 本章总结
第四章 虚拟执行环境性能的评估与分析
4.1 测试环境与测试对象
4.2 性能评估与分析
4.2.1 矩阵乘
4.2.2 快速傅立叶变换
4.2.3 Parboil测试套件
4.2.4 性能加速比
4.3 本章总结
第五章 总结与展望
5.1 全文总结
5.2 未来展望
参考文献
致谢
攻读学位期间发表的学术论文目录
本文编号:3035627
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3035627.html