表目录 | 第7-8页 |
图目录 | 第8-10页 |
摘要 | 第10-11页 |
ABSTRACT | 第11页 |
第一章 绪论 | 第12-21页 |
1.1 GPU 通用计算概述 | 第12-14页 |
1.2 课题研究意义 | 第14-16页 |
1.3 国内外研究现状 | 第16-18页 |
1.3.1 二进制翻译技术的发展 | 第16-17页 |
1.3.2 GPU 代码移植的研究 | 第17-18页 |
1.4 论文研究内容 | 第18-19页 |
1.5 主要贡献及创新点 | 第19-20页 |
1.6 论文结构安排 | 第20-21页 |
第二章 CUDA 异构并行计算架构 | 第21-28页 |
2.1 异构并行计算架构 | 第21-23页 |
2.2 CUDA 概述 | 第23-27页 |
2.2.1 CUDA 编程模型 | 第23-24页 |
2.2.2 CUDA 编译流程 | 第24-26页 |
2.2.3 CUDA 执行模型 | 第26-27页 |
2.3 本章小结 | 第27-28页 |
第三章 GPU 程序的二进制翻译关键技术 | 第28-47页 |
3.1 异构平台的二进制翻译系统框架设计 | 第28-31页 |
3.1.1 传统静态二进制翻译技术 | 第28页 |
3.1.2 CUDA 程序的静态二进制翻译系统框架 | 第28-31页 |
3.1.3 小结 | 第31页 |
3.2 层次化的线程映射模型研究 | 第31-35页 |
3.2.1 问题及分析 | 第31-32页 |
3.2.2 GPU 线程层次 | 第32-33页 |
3.2.3 线程映射方法 | 第33-34页 |
3.2.4 层次化的线程映射模型 | 第34-35页 |
3.2.5 小结 | 第35页 |
3.3 基于线程循环结构的强制同步算法研究 | 第35-41页 |
3.3.1 问题及分析 | 第35-36页 |
3.3.2 线程循环结构 | 第36-37页 |
3.3.3 强制同步算法 | 第37-38页 |
3.3.4 重构 PTX 指令流 | 第38-40页 |
3.3.5 强制同步对控制流的影响 | 第40页 |
3.3.6 小结 | 第40-41页 |
3.4 多层次存储器的存储器映射模型研究 | 第41-46页 |
3.4.1 问题及分析 | 第41页 |
3.4.2 多层次存储器的映射原则 | 第41-42页 |
3.4.3 GPU 存储器结构 | 第42-44页 |
3.4.4 目标平台存储器结构 | 第44-45页 |
3.4.5 GPU 到目标平台的存储器映射 | 第45-46页 |
3.4.6 小结 | 第46页 |
3.5 本章小结 | 第46-47页 |
第四章 原型系统 GPUtoM 的设计与实现 | 第47-65页 |
4.1 PTX 代码提取 | 第47-50页 |
4.1.1 用动态拦截方法提取 PTX 代码 | 第48页 |
4.1.2 用静态分析方法提取 PTX 代码 | 第48页 |
4.1.3 用第三方工具获取 PTX 代码 | 第48-49页 |
4.1.4 PTX 代码提取 | 第49-50页 |
4.2 PTX 语法解析器 | 第50-51页 |
4.3 指令翻译 | 第51-57页 |
4.3.1 特殊寄存器处理 | 第51-54页 |
4.3.2 普通指令翻译 | 第54-55页 |
4.3.3 断言指令翻译 | 第55-57页 |
4.4 线性扫描寄存器分配 | 第57-64页 |
4.4.1 不完全 SSA 转化 | 第57-59页 |
4.4.2 创建变量生命域 | 第59-62页 |
4.4.3 线性扫描寄存器分配 | 第62-64页 |
4.4.4 寄存器替换 | 第64页 |
4.5 本章小结 | 第64-65页 |
第五章 实验验证及分析 | 第65-70页 |
5.1 实验验证准备 | 第65-67页 |
5.1.1 测试验证平台 | 第65页 |
5.1.2 测试用例 | 第65-66页 |
5.1.3 测试方法 | 第66-67页 |
5.2 实验及分析 | 第67-69页 |
5.2.1 强制同步算法测试 | 第67-68页 |
5.2.2 功能测试 | 第68页 |
5.2.3 性能测试 | 第68-69页 |
5.3 本章小结 | 第69-70页 |
结束语 | 第70-72页 |
附录一 强制同步算法 | 第72-73页 |
附录二 线性扫描寄存器分配算法 | 第73-75页 |
附录三 寄存器替换算法 | 第75-76页 |
参考文献 | 第76-80页 |
作者简历 攻读硕士学位期间完成的主要工作 | 第80-81页 |
致谢 | 第81页 |