摘要
图目录
表目录
第1章 绪论
1.1 课题背景
1.1.1 GPGPU简介
1.1.2 GPGPU编程模型
1.1.3 多线程可忍受访存延时的概念
1.1.4 异构CPU-GPU共享LLC混合体系架构
1.2 研究动机
1.3 本文主要贡献
1.4 本文组织结构
1.5 本章小结
第2章 缓存预取机制的研究概述
2.1 常见缓存预取算法
2.2 缓存预取的机制
2.2.1 软件预取的现状
2.2.2 硬件预取的应用
2.2.3 软硬件协同预取的研究现状
2.3 对预取块的cache块管理
2.4 目前研究存在的问题
2.5 本章小结
第3章 适应warp的CUDA程序预取机制
3.1 混合架构下LLC的hit率对CUDA程序性能的影响
3.2 预取有利有害情况分析
3.3 系统总体架构
3.4 SM端监测和发起预取请求的流程
3.5 预取器端的架构设计
3.6 本章小结
第4章 程序执行监测及预取模块的实现
4.1 线程profiler的架构
4.2 SM内监测及预取控制模块的实现
4.2.1 warp监测器的实现
4.2.2 预取控制器的实现
4.3 预取参数的确定方法
4.3.1 预取阈值的确定原则
4.3.2 预取阈值的确定方法
4.3.3 预取目标warp和目标地址块的确定
4.4 本章小结
第5章 全局预取器端调度和优化
5.1 全局预取器架构
5.2 预取仲裁和请求调度
5.3 预取请求的合并优化
5.4 本章小结
第6章 实验设计和数据分析
6.1 实验平台与方法设计
6.1.1 实验环境搭建
6.1.2 基准测试程序
6.1.3 性能指标
6.2 运行时预取参数的监测对比
6.2.1 运行时CAWR和访存指令数量关系
6.2.2 运行时预取阈值变化情况
6.3 预取条件下程序的综合性能对比
6.3.1 预取准确度的对比
6.3.2 预取策略下LLC hit率的性能分析
6.3.3 预取策略下系统IPC的性能分析
6.4 额外开销分析
6.5 本章小结
第7章 总结和展望
7.1 总结
7.2 展望
参考文献
攻读硕士学位期间主要的研究成果
致谢