| 目录 | 第3-6页 |
| 图目录 | 第6-9页 |
| 表目录 | 第9-10页 |
| 摘要 | 第10-12页 |
| Abstract | 第12-14页 |
| 第1章 绪论 | 第15-27页 |
| 1.1 引言 | 第15-17页 |
| 1.2 研究背景及研究现状 | 第17-21页 |
| 1.2.1 流媒体处理应用领域的三大特性 | 第17-19页 |
| 1.2.2 数据级并行及其主流平台GPU成为程序设计新趋势 | 第19-20页 |
| 1.2.3 GPU异构集群成为分布式计算的新趋势 | 第20-21页 |
| 1.3 本文的主要研究内容 | 第21-23页 |
| 1.4 本文研究工作的创新点 | 第23-24页 |
| 1.5 本文组织结构 | 第24-27页 |
| 第2章 单GPU及GPU异构集群概述 | 第27-71页 |
| 2.1 引言 | 第27页 |
| 2.2 单GPU的软硬件体系结构及其若干关键应用领域 | 第27-66页 |
| 2.2.1 GPU软硬件体系结构的演变历史 | 第28-37页 |
| 2.2.2 AMD GPU体系结构及AMD OpenCL编程框架 | 第37-43页 |
| 2.2.3 NVIDIA GPU硬件体系结构及其CUDA编程框架 | 第43-53页 |
| 2.2.4 两种GPU的软硬件体系结构对比 | 第53-62页 |
| 2.2.5 若干关键应用领域的数据级并行算法设计及实现概述 | 第62-66页 |
| 2.3 GPU异构集群的软硬件体系结构 | 第66-71页 |
| 2.3.1 传统集群编程框架 | 第66页 |
| 2.3.2 GPU异构集群的系统架构 | 第66-68页 |
| 2.3.3 GPU异构集群主流的底层混合编程框架 | 第68-71页 |
| 第3章 数据级并行的奇偶合并和基数排序 | 第71-97页 |
| 3.1 引言 | 第71-72页 |
| 3.2 相关工作 | 第72-73页 |
| 3.3 桶划分预处理 | 第73-76页 |
| 3.4 奇偶合并排序算法及其数据级并行算法的设计与实现 | 第76-86页 |
| 3.4.1 奇偶合并排序概述 | 第76-81页 |
| 3.4.2 串行迭代算法直接实现为GPU内核程序时的问题 | 第81-82页 |
| 3.4.3 由主机程序控制迭代过程的并行化实现 | 第82-84页 |
| 3.4.4 基于桶划分预处理技术的并行化实现 | 第84-86页 |
| 3.5 基数排序算法及其数据级并行算法的设计与实现 | 第86-92页 |
| 3.5.1 基数排序概述 | 第87页 |
| 3.5.2 计数排序概述 | 第87-92页 |
| 3.6 实验结果与性能分析 | 第92-96页 |
| 3.6.1 实验的软硬件环境概述 | 第92-93页 |
| 3.6.2 奇偶合并排序 | 第93-94页 |
| 3.6.3 基数排序 | 第94-96页 |
| 3.7 总结与展望 | 第96-97页 |
| 第4章 数据级并行的前条件和时序分析 | 第97-117页 |
| 4.1 引言 | 第97-98页 |
| 4.2 相关工作 | 第98-99页 |
| 4.2.1 并行化稀疏矩阵乘操作 | 第98页 |
| 4.2.2 并行化前条件操作 | 第98-99页 |
| 4.2.3 并行化SSTA算法 | 第99页 |
| 4.3 前条件和统计静态时序分析概述 | 第99-102页 |
| 4.3.1 矩阵条件数和前条件技术概述 | 第99-101页 |
| 4.3.2 统计静态时序分析 | 第101-102页 |
| 4.4 ELLH和ELLV稀疏矩阵存储格式 | 第102-104页 |
| 4.4.1 ELLH格式 | 第102-103页 |
| 4.4.2 ELLV格式 | 第103-104页 |
| 4.5 并行化CS操作 | 第104-106页 |
| 4.6 并行化BCS操作 | 第106-109页 |
| 4.7 实验结果与性能分析 | 第109-114页 |
| 4.7.1 基于ELLH格式和ELLV格式的CS操作 | 第110-112页 |
| 4.7.2 基于CPU和GPU的BCS操作的性能比较 | 第112-114页 |
| 4.8 总结与展望 | 第114-117页 |
| 第5章 数据级并行的带状矩阵向量乘操作 | 第117-129页 |
| 5.1 引言 | 第117页 |
| 5.2 相关工作 | 第117-118页 |
| 5.3 带状矩阵结构及其压缩存储格式概述 | 第118-119页 |
| 5.3.1 带状矩阵结构 | 第118-119页 |
| 5.3.2 内存空间有效的压缩存储格式 | 第119页 |
| 5.3.3 带状矩阵和值矩阵之间的元素映射 | 第119页 |
| 5.4 带状矩阵向量乘操作的数据级并行化算法的设计及实现 | 第119-123页 |
| 5.4.1 BpMV操作的通用描述 | 第119-120页 |
| 5.4.2 基于压缩存储方案的串行BpMV算法 | 第120页 |
| 5.4.3 基于压缩存储方案和反对角顺序的并行BpMV算法 | 第120-123页 |
| 5.5 分支指令消除优化技术 | 第123-125页 |
| 5.5.1 带状矩阵及其压缩存储方案讨论 | 第123-124页 |
| 5.5.2 消除判定数组下标越界优化技术 | 第124-125页 |
| 5.6 实验结果与性能分析 | 第125-126页 |
| 5.7 总结与展望 | 第126-129页 |
| 第6章 GPU异构集群的系统级任务调度 | 第129-165页 |
| 6.1 引言 | 第129-130页 |
| 6.2 相关工作 | 第130-132页 |
| 6.2.1 GPU异构集群的系统架构设计 | 第130页 |
| 6.2.2 GPU能够支持多个内核程序同时执行 | 第130-131页 |
| 6.2.3 任务调度策略 | 第131-132页 |
| 6.3 GPU异构集群的系统级模型 | 第132-133页 |
| 6.3.1 系统级模型 | 第132-133页 |
| 6.4 任务分类及其系统级数据结构 | 第133-139页 |
| 6.4.1 任务分类 | 第134-137页 |
| 6.4.2 系统级的任务及其数据结构 | 第137-139页 |
| 6.5 系统级任务调度策略及相应辅助算法 | 第139-162页 |
| 6.5.1 系统级任务调度策略概述 | 第140页 |
| 6.5.2 两个评估任务调度结果的参数定义 | 第140-141页 |
| 6.5.3 相应的任务打包和任务调度算法 | 第141-162页 |
| 6.6 系统级任务调度实例 | 第162-164页 |
| 6.6.1 GPU异构集群的实例及其节点信息 | 第162页 |
| 6.6.2 系统级任务数据级结构及任务调度过程 | 第162-164页 |
| 6.7 总结和展望 | 第164-165页 |
| 第7章 DISPAR编程框架的设计及实现 | 第165-193页 |
| 7.1 引言 | 第165页 |
| 7.2 DISPAR顶层编程框架的研究背景 | 第165-166页 |
| 7.3 DISPAR顶层编程框架的基本思想和设计哲学 | 第166-169页 |
| 7.3.1 对程序设计和开发人员的易用性 | 第167页 |
| 7.3.2 应用程序性能的可扩展性和可移植性 | 第167-168页 |
| 7.3.3 应用程序代码的可重用性 | 第168-169页 |
| 7.4 DISPAR顶层编程框架的设计及实现 | 第169-180页 |
| 7.4.1 DISPAR顶层编程框架的系统模型 | 第169-171页 |
| 7.4.2 DISPAR顶层编程框架的自定义基本数据结构 | 第171-174页 |
| 7.4.3 DISPAR顶层编程框架工具集和相应的算法 | 第174-180页 |
| 7.5 相关工作 | 第180-181页 |
| 7.6 实验结果与性能分析 | 第181-191页 |
| 7.6.1 所部署的GPU异构集群的节点信息 | 第181-182页 |
| 7.6.2 VNODE的打包和调度过程 | 第182-186页 |
| 7.6.3 VNODE的分配结果与性能分析 | 第186-191页 |
| 7.7 总结与展望 | 第191-193页 |
| 第8章 总结和展望 | 第193-195页 |
| 8.1 总结 | 第193-194页 |
| 8.2 展望 | 第194-195页 |
| 参考文献 | 第195-206页 |
| 致谢 | 第206-208页 |
| 攻读博士期间发表(录用)论文情况 | 第208-209页 |