分支与不规则访存在GPU上的优化方法研究

来源 :国防科学技术大学 | 被引量 : 0次 | 上传用户:TNT2000
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近几年,GPU在通用计算领域得到了广泛的应用,成为当前高性能计算系统的重要组成部分。然而,GPU采用SIMT的工作方式,使其执行效率受到程序中不一致分支行为(Branch Divergence)的严重影响;为了节约内存带宽并减小访存延迟,GPU引入了访存合并机制。虽然这一机制可以提高内存访问效率,但不规则访存仍然会严重影响程序性能。针对这两个问题,本文分析了它们产生的原因,提出了相应的优化方法,利用GPGPU-Sim模拟器进行测试,并分析提出的优化方法对性能(程序运行时间)、功耗和能耗(功耗时间积)的影响。本文的主要工作可以分为以下几个方面:1)分析了分支问题产生的原因,研究了现有线程交换算法对功耗的影响,并对Reduction和Bitonic Sort程序进一步优化。对于Reduction程序,现有线程交换算法增加了功耗,针对这一问题,通过改变线程交换算法,减少了共享存储器体冲突,从而减小了程序功耗,结果表明在性能平均损失5%的情况下,功耗平均降低了5%;对于Bitonic Sort程序,通过分析线程交换算法,在此基础上减少了一些不必要的交换,结果表明在未引起功耗增加的情况下,性能最多提高了6%。2)研究了线程交换范围对程序性能的影响。使用线程交换算法进行优化时,交换范围是一个重要的优化参数。研究发现,交换范围越大,交换地越充分,减少Branch Divergence的可能性越大,但是带来的额外访存开销也越大。因此,如何选择合适的线程交换范围,需要具体问题具体分析。3)分析了不规则访存问题产生的原因,提出了一种针对矩阵运算程序的不规则访存优化方法,选取PolyBench/GPU这一基准程序包中的部分程序进行优化,结果表明本文提出的方法能够有效减少不规则访存,显著提高程序性能。在给定条件下,kernel加速比最高达到78.9x,平均为35.9x,功耗平均增加了106.2%,能耗平均减少了86.2%。4)分析了功耗变化的原因。研究发现,程序运行时产生的功耗是各个功能部件的功耗之和,而各个功能部件产生的功耗依赖于与之对应的性能计数器和程序执行时间。此外,研究了共享存储器大小对Polybench/GPU中程序优化效果的影响,结果表明,共享存储器越大,获得的加速比越高,功耗变化则较小,因而优化效果越好。
其他文献
无线传感器网络是由大量廉价的传感器节点组成的,而传感器节点以协作地方式来完成特定的任务,如环境监测、目标跟踪和医疗卫生等。传感器节点由电池供电,且通常部署于无人值守区
本文以视频增强技术在复杂天候下监视系统中的应用为背景,深入研究了影响视频质量下降的各种因素,并根据这些因素将降质视频分成两类,分别提出合适的方法进行处理。针对晚上
在移动机器人的相关技术研究中,导航技术是其核心技术之一。根据周围环境信息,检测道路区域是移动机器人导航技术研究的一个重要内容。在移动机器人行驶环境中,复杂的、未知
嘉兴是全国城乡一体化发展的先行之地,也是浙江省城乡综合配套改革试点城市。嘉兴广播电视台对农频率作为全国唯一的城市台为“三农”服务的专业频率,每天播出约17小时,通过
学位
随着计算机硬件平台运算能力的不断提升,计算机软件的规模及复杂度日益增长,同时软件安全性问题也日益突出。如何解决软件安全性,已然成为目前计算机工业领域与研究领域关注的热
即时通信是一种以网络为基础的实时通信方式,它通过通信系统来建立网络虚拟社区,为用户提供实时有效的沟通手段。基于P2P模式的即时通信软件是Internet用户交互的主要工具,正
随着人们对监测环境的要求越来越高,需要感知的信息也的越来越复杂,比如像图像、声音等,于是无线多媒体传感器网络(Wireless MultimediaSensor Networks,WMSNs)应用而生,它是在传统
随着网络的快速发展,分布式计算发展日新月异,发布/订阅技术是随着分布式计算环境的发展而出现的,它在电子商务、网络游戏、证券交易等项目中都有重要应用。机密性和完整性是订
随着服务需求的不断发展,单台高性能计算机已经不能胜任一些超大规模需求问题的解决。利用网格技术能够实现各种资源的全面共享与连通。目前,Web服务技术和网格技术是两个研