首页> 中文学位 >基于编译器辅助的GPGPU缓存一致性研究
【6h】

基于编译器辅助的GPGPU缓存一致性研究

代理获取

目录

声明

摘要

第一章 绪论

1.1 课题研究背景及意义

1.2 本文的主要工作

1.3 本文的章节安排

第二章 相关背景及研究现状

2.1 研究背景

2.1.1 GPU体系结构概述

2.1.2 GPU存储层次

2.1.3 GPU缓存运算符

2.1.4 GPU缓存一致性

2.2 缓存一致性的研究现状

2.2.1 基于监听的一致性协议

2.2.2 基于目录的一致性协议

2.2.3 基于时间的一致性协议

2.2.4 软件缓存一致性的研究

2.3 本章小结

第三章 GPU缓存一致性与性能的影响

3.1 GPU性能与片上缓存的关系

3.2 程序静态分析

4.1 框架总览

4.2 CUDA程序编译过程

4.3 GPU并发的CTA

4.4 固有一致性的内存块

4.5 静态地址分析

4.5.1 内存块地址分析

4.5.2 实例验证

4.6 选择性缓存算法过程

4.7 本章小结

5.1 实验环境配置

5.2 工作集

5.3 实验结果及分析

5.3.1 性能分析

5.3.2 访问事务分析

5.4 本章小结

6.1 工作总结

6.2 工作展望

参考文献

致谢

攻读学位期间发表的主要学术论文

攻读学位期间参与科研项目及获奖情况

展开▼

摘要

随着以GPGPU为基础的异构计算架构在云计算、大数据以及深度学习等各个领域的广泛应用,以及GPU架构的不断发展,GPU核心数量不断增多,其对于GPU架构中缓存一致性问题也越来越突出。在多核处理器架构中,通常使用基于目录的硬件缓存一致性协议,来维护不同处理器核心私有缓存之间的数据一致性。由于GPU架构高并行的特点,将传统多核处理器架构下的缓存一致性协议直接应用GPU架构中,会导致更频繁的通信开销,更大存储开销,并且会导致更高的一致性协议设计复杂度。因此传统多核处理器架构下的缓存一致性协议并不能直接应用于GPU架构中。
  现代GPU架构中并没有保证数据正确性的缓存一致性协议,只能通过不把全局数据缓存到私有一级缓存上来避免缓存一致性问题。对访存敏感型的GPU应用程序来说,将全局数据绕过私有一级缓存会带来更多的延迟,并且会潜在地造成更多的片外访存请求,这样会影响整个异构计算系统的性能。
  我们发现一级缓存对于GPU的性能会有积极影响,然而盲目将数据加载到一级缓存会造成缓存不一致的问题。基于GPU kernel函数访存模式是可以预测的研究,本文提出了一种静态程序分析的方法,在保证数据一致的情况下,保守地将一部分数据缓存到私有一级缓存上。我们将本文提出的共享访存分析模块与NVIDIA NVCC编译器集成到一起,利用PTX ISA指令集中特有的缓存操作符,来自动地生成合理并且高性能的应用程序,没有造成任何GPU硬件上的开销。我们将我们提出的方法应用到了实际的嵌入式和通用的异构计算平台上。实验结果表明,对于缓存敏感型的应用程序,我们在嵌入式异构平台Jetson TX1,JetsonTX2以及GTX1060上,分别取得了平均1.38倍、1.26倍和1.24倍的加速比,同时我们对二级缓存的访问事务也平均减少了31%、31%和48%。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号