摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第10-16页 |
1.1 研究背景和意义 | 第10-11页 |
1.2 相关研究工作 | 第11-13页 |
1.3 论文的研究内容 | 第13-14页 |
1.4 论文的章节安排 | 第14-15页 |
1.5 本章小结 | 第15-16页 |
第二章 背景知识 | 第16-25页 |
2.1 CUDA的硬件架构 | 第16-18页 |
2.1.1 Fermi架构 | 第16-17页 |
2.1.2 Kepler架构 | 第17-18页 |
2.2 GPU与传统并行计算架构的区别 | 第18-20页 |
2.2.1 与多核CPU的区别 | 第18-19页 |
2.2.2 与分布式集群的区别 | 第19-20页 |
2.3 CUDA编程模型 | 第20-24页 |
2.3.1 主机与设备 | 第20-21页 |
2.3.2 线程布局 | 第21-22页 |
2.3.3 存储器模型 | 第22-24页 |
2.4 CUDA程序的优化 | 第24页 |
2.5 本章小结 | 第24-25页 |
第三章 GPU加速计算有向图的强连通分量 | 第25-46页 |
3.1 基本定义和符号表示 | 第25-26页 |
3.2 经典的串行算法 | 第26-29页 |
3.2.1 Kosaraju算法 | 第26-28页 |
3.2.2 Tarjan算法 | 第28-29页 |
3.3 FB算法 | 第29-30页 |
3.4 基于CUDA的FB算法 | 第30-41页 |
3.4.1 GPU中图的存储表示 | 第30-31页 |
3.4.2 算法的主体设计 | 第31-33页 |
3.4.3 枝剪过程 | 第33-35页 |
3.4.4 计算顶点的闭包 | 第35-38页 |
3.4.5 选择pivot和划分子图 | 第38-41页 |
3.5 实验 | 第41-45页 |
3.5.1 实验平台和数据集 | 第41-42页 |
3.5.2 实验结果 | 第42-45页 |
3.6 本章小结 | 第45-46页 |
第四章 GPU加速计算图的最小生成树 | 第46-65页 |
4.1 Boruvka算法 | 第46页 |
4.2 Kruskal算法和Filter-Kruskal算法 | 第46-48页 |
4.3 基于CUDA的最小生成树算法 | 第48-59页 |
4.3.1 图的数据结构 | 第48页 |
4.3.2 Scan原语 | 第48-49页 |
4.3.3 算法的设计 | 第49-54页 |
4.3.4 Boruvka子算法的CUDA实现 | 第54-59页 |
4.4 实验结果 | 第59-64页 |
4.5 本章小结 | 第64-65页 |
第五章 GPU加速计算图的最短路径 | 第65-79页 |
5.1 经典的最短路径算法 | 第65-66页 |
5.2 基于CUDA的SSSP算法 | 第66-71页 |
5.2.1 算法的描述 | 第66-69页 |
5.2.2 算法的CUDA实现 | 第69-71页 |
5.3 基于CUDA的APSP算法 | 第71-75页 |
5.3.1 并行方案的设计 | 第71-73页 |
5.3.2 算法的CUDA实现 | 第73-75页 |
5.4 实验结果 | 第75-78页 |
5.5 本章小结 | 第78-79页 |
第六章 总结与展望 | 第79-80页 |
致谢 | 第80-81页 |
参考文献 | 第81-87页 |