摘要 | 第4-5页 |
ABSTRACT | 第5页 |
1 绪论 | 第8-11页 |
1.1 选题背景及意义 | 第8页 |
1.2 国内外研究现状 | 第8-10页 |
1.2.1 索引结构的研究现状 | 第8-9页 |
1.2.2 GPU计算的研究现状 | 第9-10页 |
1.3 本文主要创新点 | 第10页 |
1.4 主要内容 | 第10-11页 |
2 KEPLER架构与CUDA编程 | 第11-18页 |
2.1 KEPLER架构 | 第11-13页 |
2.1.1 KEPLER硬件架构 | 第11-12页 |
2.1.2 KEPLER新特性 | 第12-13页 |
2.1.3 KEPLER与FERMI对比 | 第13页 |
2.2 CUDA编程 | 第13-17页 |
2.2.1 CUDA编程模型 | 第14-15页 |
2.2.2 虚拟分组 | 第15页 |
2.2.3 原子操作和NVIDIA-SMI | 第15-17页 |
2.3 本章小结 | 第17-18页 |
3 PGRID索引及查询 | 第18-23页 |
3.1 PGRID索引结构 | 第18页 |
3.2 PGRID查询 | 第18-22页 |
3.2.1 PGRID查询结构 | 第19页 |
3.2.2 查询操作两种并行方式 | 第19-20页 |
3.2.3 传统GPU查询算法 | 第20-21页 |
3.2.4 GPU查询算法性能遭遇的挑战 | 第21-22页 |
3.3 本章小结 | 第22-23页 |
4 基于CELL的PGRID处理:COPGRID | 第23-36页 |
4.1 基于CELL的任务划分算法与实现 | 第23-25页 |
4.2 虚拟分组算法与实现 | 第25-29页 |
4.3 动态并行化算法与实现 | 第29-32页 |
4.4 抢占式线程调度算法与实现 | 第32-35页 |
4.5 本章小结 | 第35-36页 |
5 实验与结果分析 | 第36-57页 |
5.1 实验环境与基本参数 | 第36-37页 |
5.2 基于查询的任务划分与基于CELL的任务划分未经优化的性能对比 | 第37-41页 |
5.3 基于查询的任务划分方式的优化分析与结果 | 第41-47页 |
5.3.1 使用虚拟分组优化基于查询的任务划分 | 第41-43页 |
5.3.2 使用动态并行化优化基于查询的任务划分 | 第43-44页 |
5.3.3 使用抢占式线程调度优化基于查询的任务划分 | 第44-47页 |
5.4 基于CELL的任务划分方式的优化分析与结果 | 第47-53页 |
5.4.1 使用虚拟分组优化基于CELL的任务划分 | 第47-49页 |
5.4.2 使用动态并行化优化基于CELL的任务划分 | 第49-51页 |
5.4.3 使用抢占式线程调度优化基于CELL的任务划分 | 第51-53页 |
5.5 基于查询的任务划分与基于CELL的任务划分经优化后的性能比较 | 第53-56页 |
5.6 本章小结 | 第56-57页 |
6 总结与展望 | 第57-59页 |
6.1 全文总结 | 第57页 |
6.2 工作展望 | 第57-59页 |
参考文献 | 第59-62页 |
致谢 | 第62-63页 |