摘要 | 第1-10页 |
Abstract | 第10-12页 |
第一章 绪论 | 第12-20页 |
·课题研究背景 | 第12-14页 |
·体系结构发展趋势 | 第12-13页 |
·针对异构平台编程面临的挑战 | 第13-14页 |
·课题研究现状 | 第14-17页 |
·异构平台编程模型研究 | 第14-15页 |
·面向存储层次的编程模型研究 | 第15-17页 |
·本文主要工作和创新点 | 第17-18页 |
·论文组织结构 | 第18-20页 |
第二章 OpenCL 编程模型和 Sequoia 编程模型 | 第20-35页 |
·OpenCL 编程模型 | 第20-28页 |
·OpenCL 的平台模型 | 第20-21页 |
·OpenCL 的执行模型 | 第21页 |
·OpenCL 的存储模型 | 第21-22页 |
·OpenCL 的计算流程 | 第22页 |
·多 OpenCL 设备编程 | 第22-28页 |
·Sequoia 编程模型 | 第28-34页 |
·存储层次抽象 | 第28-29页 |
·任务映射 | 第29页 |
·Sequoia 程序的可移植性 | 第29-30页 |
·Sequoia 编译器框架 | 第30-31页 |
·Sequoia 程序举例 | 第31-34页 |
·小结 | 第34-35页 |
第三章 OpenCL 程序性能移植性研究 | 第35-47页 |
·多设备一体化 OpenCL 编程的测试 | 第35-38页 |
·使用异构 GPU 进行计算 | 第35-37页 |
·使用 CPU 和 GPU 同时进行计算 | 第37-38页 |
·OpenCL 性能移植性存在的问题 | 第38-40页 |
·OpenCL 的性能移植性测试 | 第38-40页 |
·底层硬件体系结构的差异 | 第40页 |
·OpenCL 代码移植优化:从 GPU 到 CPU | 第40-44页 |
·增大任务的划分粒度 | 第41页 |
·优化存储层次的使用 | 第41-42页 |
·非对齐的数据访问方式 | 第42-44页 |
·实验测试 | 第44-45页 |
·小结 | 第45-47页 |
第四章 Sequoia 编程模型在异构平台上的扩展 | 第47-64页 |
·存储模型与编程接口扩展 | 第47-50页 |
·异构平台存储层次抽象 | 第47-48页 |
·机器配置描述和任务映射描述的扩展 | 第48-50页 |
·异构平台 runtime 的设计与实现 | 第50-54页 |
·异构平台 runtime 的设计 | 第50-52页 |
·异构平台 runtime 的实现 | 第52-54页 |
·Sequoia 编译器的支持 | 第54-59页 |
·编译前端的支持 | 第54-56页 |
·中间数据的保存 | 第56-58页 |
·控制生成中间代码 | 第58-59页 |
·性能评测 | 第59-61页 |
·OpenCL 模型与 Sequoia 模型的比较 | 第61-62页 |
·小结 | 第62-64页 |
第五章 结论与展望 | 第64-67页 |
·工作总结 | 第64-65页 |
·未来研究方向 | 第65-67页 |
致谢 | 第67-68页 |
参考文献 | 第68-73页 |
作者在学期间取得的学术成果 | 第73页 |