面向存储层次设计优化的gpu程序性能分析

面向存储层次设计优化的gpu程序性能分析

ID:9144500

大小:216.12 KB

页数:19页

时间:2018-04-19

面向存储层次设计优化的gpu程序性能分析_第1页
面向存储层次设计优化的gpu程序性能分析_第2页
面向存储层次设计优化的gpu程序性能分析_第3页
面向存储层次设计优化的gpu程序性能分析_第4页
面向存储层次设计优化的gpu程序性能分析_第5页
资源描述:

《面向存储层次设计优化的gpu程序性能分析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、面向存储层次设计优化的GPU程序性能分析唐滔彭林黄春杨灿群国防科学技术大学计算机学院图形处理器凭借着比传统CPU更高的峰值性能和能效,以及口渐成熟的软件环境,逐渐成为构建异构并行系统的最流行的加速器之一。虽然GPU依靠轻量级线程的灵活切换来隐藏访存延迟,但其超高的并发度仍然给存储系统带来了很大压力,其性能的有效发挥受访存效率的强烈影响。因此GPU程序的访存行为分析及优化-直是GPU相关领域的研宄热点,但很少有工作从体系结构的角度分析存储层次的设计对性能的影响。为了更好地指导GPU存储层次的设计和访存优化,从实验的角度详细地分析了GPU各存储层次对程序性能的影响,并总结出若干指

2、导性的优化策略,为未来类似体系结构的存储层次设计和程序优化提供建议。关键词:异构系统;图形处理器;存储层次;性能分析;优化;这类系统兼具以下优势:一方面,CPU具有较强的标量计算性能和非规则应用的处理能力,使得异构系统可以适应多方面的计算需求;另一方面,加速器面向某些特定领域的应用可以提供强大的计算性能,且能效较高,使得异构系统比同构系统拥有更高的性能和能效。2016年6月发布的国际超级计算机T0P500排行榜U1中,有94台系统采用了异构体系结构,占比18.8%,在TOP100中的占比更是达到24%。当前技术最成熟、应用最广泛的加速器是原本用于图形计算的图形处理器(Grap

3、hicsProcessingUnits,GPU)。GPU以强大的计算性能和口渐完善的软件环境吸引了众多来自非图形计算领域的学者的关注,在高性能计算、桌而计算甚至嵌入式计算领域都得到了广泛应用。因此,有关GPU性能优化的研究也得到了学术界和业界的持续关注。GPU的性能优化研宄中最重要的一类是针对其访存行为的优化,这与GPU的体系结构特点紧密相关。“存储墙”问题一直是困扰处理器性能发挥的难题,对GPU而言也不例外。虽然GPU通过大量并发的线程以及低开销的线程切换尽可能地隐藏访存延迟,但其特殊的多线程执行模式依然决定了访存效率对程序性能的发挥起到了至关重要的作用。由于同一时刻可能有

4、大量线程同时发出访存请求,若存储层次的设计不能有效应对这种访问模式,造成这些访存请求流向片外DRAM,则会导致大量线程因等待数据而空转,从而大幅降低GPU的计算效率。例如,Fatahalian等M通过实验说明了GPU上低带宽的Cache设计会使得通用程序难以有效开发GPU强大的计算性能。从程序优化的角度看,若程序的访存行为不能很好地匹配GPU片上存储层次的设计,没有将潜在的数据局部性发挥出来,则会极大地浪费GPU性能。因此GPU的访存分析和优化成为丫GPU性能优化屮最受关注的问题。“存储墙”问题的缓解需要体系结构和程序优化两方面的共同作用。一方面,需耍不断改进体系结构,设计更

5、复杂、更高效的片上存储系统来挖掘更多的数据局部性;另一方面,程序通过各种优化使得其访存的行为更加匹配处理器的存储层次设计,以提高访存的效率。然而,现有的GPU访存优化工作大多是从程序优化的角度去探索在已有的体系结构上如何更高效地执行程序,而没冇冋答体系结构应该如何优化设计的问题,因而不能用来指导未来类似体系结构的优化设计。本文正是从这个角度出发,通过大量的实验定量分析在GPU这种特殊的执行模式之下各种存储层次的设计参数对程序性能的影响,从而总结若干指导性的优化策略,为未来类似众核体系结构的存储层次设计和程序优化提供建议。本文第2节介绍相关工作;第3节介绍GPU体系结构和执行模

6、型;第4节通过实验分析GPU的各种存储层次(包括私有LICache、sharedmemory、共享L2Cache和全局DRAM)对程序性能的影响,并总结体系结构和程序优化的策略;最后总结全文。2相关工作近年来,随着GPU通用计算的兴起,面向GPU的程序性能优化得到了广泛而深入的研宄。GPU程序的性能发挥,尤其是非规则应用的性能发挥严重依赖于其访存操作的效率,这一结论得到了学术界的广泛认可[19-26],因此关于访存的分析和优化是GPU性能优化屮最受关注的研宄问题。在GPU存储层次的性能分析方面,由于厂商在发布GPU时一般不会公布太多存储屋次的设计细节和参数,因此大部分工作是从

7、实验的角度构建benchmark来进行定量测试,并总结规律以指导程序优化。大部分对存储结构和访问延迟的测试都是基于P-chase(指针追逐)微benchmark[12-13]进行的。例如,Mei等人[14]通过设il•一个细粒度的P-chasebenchmark,在Fermi和Kepler系列的两款GPU上对存储层次的一些特性进行分析,包括全局内存、sharedmemory和纹理内存,但没有分析数据Cache,此外他们只观察了kernel在单个线程或单个warp上的访存行为,而不是完整应用的执行情况。此

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。