面向CPU-GPU异构并行计算的代码生成关键技术研究
摘要 | 第5-6页 |
abstract | 第6-7页 |
第一章 绪论 | 第10-19页 |
1.1 课题研究背景 | 第10-15页 |
1.1.1 CPU-GPU异构并行计算的发展 | 第10-11页 |
1.1.2 CPU-GPU异构系统高层编程模型 | 第11-14页 |
1.1.3 源到源编译器技术 | 第14页 |
1.1.4 CPU-GPU编程面临的技术问题 | 第14-15页 |
1.2 国内外研究历史与现状 | 第15-17页 |
1.3 本文的主要工作 | 第17-18页 |
1.3.1 面向线性代数的高层编程模型 | 第17页 |
1.3.2 面向嵌套循环中仿射数组访问的并行优化 | 第17-18页 |
1.3.3 数据流分析及存储层次的综合利用 | 第18页 |
1.4 本文的组织结构 | 第18-19页 |
第二章 CUDA计算平台及编程模型 | 第19-35页 |
2.1 GPU硬件架构 | 第19-21页 |
2.2 CUDA线程模型 | 第21-27页 |
2.2.1 CUDA内核调用 | 第21-22页 |
2.2.2 CUDA线程层次 | 第22-27页 |
2.3 CUDA存储层次 | 第27-33页 |
2.3.1 寄存器 | 第28-29页 |
2.3.2 共享内存 | 第29-30页 |
2.3.3 全局内存 | 第30-31页 |
2.3.4 常量内存及纹理内存 | 第31-32页 |
2.3.5 统一内存寻址 | 第32-33页 |
2.4 CUDA软件生态 | 第33-34页 |
2.5 本章小结 | 第34-35页 |
第三章 ROYA编译框架模块设计 | 第35-52页 |
3.1 Roya整体架构 | 第35-37页 |
3.2 词法分析 | 第37-40页 |
3.2.1 RoyaL源码符号 | 第37-38页 |
3.2.2 词法分析器构建 | 第38-40页 |
3.3 语法分析 | 第40-46页 |
3.3.1 语法分析方法 | 第40-41页 |
3.3.2 RoyaL语法表示 | 第41-44页 |
3.3.3 抽象语法树构建 | 第44-46页 |
3.4 符号表 | 第46-49页 |
3.5 中间表示 | 第49-51页 |
3.6 本章小结 | 第51-52页 |
第四章 ROYA编译框架优化方法及代码生成 | 第52-67页 |
4.1 矩阵链乘法优化 | 第52-55页 |
4.2 矩阵链加减法优化 | 第55-57页 |
4.3 嵌套循环并行优化 | 第57-63页 |
4.3.1 数据依赖关系建模 | 第58-59页 |
4.3.2 数据依赖关系求解 | 第59-61页 |
4.3.3 线程任务划分 | 第61-63页 |
4.4 活跃分析及代码生成 | 第63-66页 |
4.5 本章小结 | 第66-67页 |
第五章 性能测试与分析 | 第67-76页 |
5.1 实验平台 | 第67页 |
5.2 矩阵链乘法性能测试 | 第67-69页 |
5.3 矩阵链加减法性能测试 | 第69-71页 |
5.4 嵌套循环并行优化性能测试 | 第71-75页 |
5.5 本章小结 | 第75-76页 |
第六章 总结与展望 | 第76-78页 |
6.1 本文总结 | 第76-77页 |
6.2 未来研究工作展望 | 第77-78页 |
致谢 | 第78-79页 |
参考文献 | 第79-83页 |
附录 | 第83-100页 |
攻读硕士学位期间取得的成果 | 第100-101页 |