| 摘要 | 第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页 |