基于编译器辅助的GPGPU缓存一致性研究
发布时间:2021-10-27 07:54
随着以GPGPU为基础的异构计算架构在云计算、大数据以及深度学习等各个领域的广泛应用,以及GPU架构的不断发展,GPU核心数量不断增多,其对于GPU架构中缓存一致性问题也越来越突出。在多核处理器架构中,通常使用基于目录的硬件缓存一致性协议,来维护不同处理器核心私有缓存之间的数据一致性。由于GPU架构高并行的特点,将传统多核处理器架构下的缓存一致性协议直接应用GPU架构中,会导致更频繁的通信开销,更大存储开销,并且会导致更高的一致性协议设计复杂度。因此传统多核处理器架构下的缓存一致性协议并不能直接应用于GPU架构中。现代GPU架构中并没有保证数据正确性的缓存一致性协议,只能通过不把全局数据缓存到私有一级缓存上来避免缓存一致性问题。对访存敏感型的GPU应用程序来说,将全局数据绕过私有一级缓存会带来更多的延迟,并且会潜在地造成更多的片外访存请求,这样会影响整个异构计算系统的性能。我们发现一级缓存对于GPU的性能会有积极影响,然而盲目将数据加载到一级缓存会造成缓存不一致的问题。基于GPU kernel函数访存模式是可以预测的研究,本文提出了一种静态程序分析的方法,在保证数据一致的情况下,保守地...
【文章来源】:山东大学山东省 211工程院校 985工程院校 教育部直属院校
【文章页数】:59 页
【学位级别】:硕士
【部分图文】:
图2-1现代NVIDIA?GPU架构图??基于论文[24]和我们自己的微基准程序发现,NVIDIA?GPU的一级缓存在写??命中时遵循写剔除策略
?状态2??图3-2数据缓存到一级缓存时一致性状态图??如图3-2所示,状态1中,数据x分别被SMO和SM1中的私有缓存中T状态??2对于SMO,将x修改为x‘,SMO将其中的x剔除,并将X’写到共享的二级缓存??中,然而SM1对x进行读操作,那么SM丨读取的是一个之前私有一级缓存的数??据,然而这个数据对于整个系统是旧的数据,因此导致了数据的不一致。??9??
自从NVIDIA?GPUKepler架构以来,私有片上缓存对于全局数据??是通过旁路技术绕过的策略。然而对于许多缓存敏感类型的GPU应用程序来说,??绕过私有一级缓存会导致严重的性能下降。在图3-1中,我们从PolyBench[6]基??准程序集中,选取了应用程序SYRK?(symmetric?rank-k?operations)进行分析。由??于GPU?NVCC编译器并不能自动对缓存进行优化操作,我们通过上文提到的编译??选项“-Xptxas-dloma”,将数据缓存到片上缓存,并与默认策略进行对比。??SYRK?=?ORI?%CA??2.5??k!?2?P?1-74??I?15?I???I?■??MM??TXl?TX2?GTX1060?AVG??图3-1?SYRK中缓存与GPU性能的关系??在图3-1中,我们将应用程序SYRK分别在Jetson?TXl?,?Jetson?TX2和GTX??1060上测试运行,并进行了性能剖析,得到了两种缓存使用策略的归一化的性能??对比。图中横轴表示我们使用的三个实验平台,以及平均数据;纵轴表示我们归??一化的性能指标归一化的1PC?(Instruction?Per?Cycle),即每个周期执行的指令数。??蓝色0RI表示默认缓存策略(所有的全局数据都不会缓存到私有一级缓存)
【参考文献】:
期刊论文
[1]片上多核处理器Cache一致性协议优化研究综述[J]. 胡森森,计卫星,王一拙,陈旭,付文飞,石峰. 软件学报. 2017(04)
[2]多核处理器目录缓存结构设计[J]. 王恩东,唐士斌,陈继承,王洪伟,倪璠,赵雅倩. 计算机研究与发展. 2015(06)
[3]片上多核处理器的结构级功耗建模与优化技术研究[J]. 张戈,胡伟武,黄琨,曾洪博,王君. 自然科学进展. 2009(12)
博士论文
[1]片上多处理器体系结构中Cache一致性模型研究[D]. 李功明.中国科学技术大学 2013
本文编号:3461184
【文章来源】:山东大学山东省 211工程院校 985工程院校 教育部直属院校
【文章页数】:59 页
【学位级别】:硕士
【部分图文】:
图2-1现代NVIDIA?GPU架构图??基于论文[24]和我们自己的微基准程序发现,NVIDIA?GPU的一级缓存在写??命中时遵循写剔除策略
?状态2??图3-2数据缓存到一级缓存时一致性状态图??如图3-2所示,状态1中,数据x分别被SMO和SM1中的私有缓存中T状态??2对于SMO,将x修改为x‘,SMO将其中的x剔除,并将X’写到共享的二级缓存??中,然而SM1对x进行读操作,那么SM丨读取的是一个之前私有一级缓存的数??据,然而这个数据对于整个系统是旧的数据,因此导致了数据的不一致。??9??
自从NVIDIA?GPUKepler架构以来,私有片上缓存对于全局数据??是通过旁路技术绕过的策略。然而对于许多缓存敏感类型的GPU应用程序来说,??绕过私有一级缓存会导致严重的性能下降。在图3-1中,我们从PolyBench[6]基??准程序集中,选取了应用程序SYRK?(symmetric?rank-k?operations)进行分析。由??于GPU?NVCC编译器并不能自动对缓存进行优化操作,我们通过上文提到的编译??选项“-Xptxas-dloma”,将数据缓存到片上缓存,并与默认策略进行对比。??SYRK?=?ORI?%CA??2.5??k!?2?P?1-74??I?15?I???I?■??MM??TXl?TX2?GTX1060?AVG??图3-1?SYRK中缓存与GPU性能的关系??在图3-1中,我们将应用程序SYRK分别在Jetson?TXl?,?Jetson?TX2和GTX??1060上测试运行,并进行了性能剖析,得到了两种缓存使用策略的归一化的性能??对比。图中横轴表示我们使用的三个实验平台,以及平均数据;纵轴表示我们归??一化的性能指标归一化的1PC?(Instruction?Per?Cycle),即每个周期执行的指令数。??蓝色0RI表示默认缓存策略(所有的全局数据都不会缓存到私有一级缓存)
【参考文献】:
期刊论文
[1]片上多核处理器Cache一致性协议优化研究综述[J]. 胡森森,计卫星,王一拙,陈旭,付文飞,石峰. 软件学报. 2017(04)
[2]多核处理器目录缓存结构设计[J]. 王恩东,唐士斌,陈继承,王洪伟,倪璠,赵雅倩. 计算机研究与发展. 2015(06)
[3]片上多核处理器的结构级功耗建模与优化技术研究[J]. 张戈,胡伟武,黄琨,曾洪博,王君. 自然科学进展. 2009(12)
博士论文
[1]片上多处理器体系结构中Cache一致性模型研究[D]. 李功明.中国科学技术大学 2013
本文编号:3461184
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3461184.html