基于行为特征剖析的CUDA程序合成方法研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:drg45tg54h4h
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着GPU体系结构的发展和GPU编程模型的成熟,越来越多的应用程序采用了高性能GPU架构来开发。NVIDIA公司提出的CUDA编程模型,已经在业界取得了巨大成功,引起了学者们的广泛研究。同时,微体系结构的设计人员使用详细的模拟器代替相应的硬件芯片,来验证芯片在程序性能和能耗方面的设计。然而,尽管CUDA程序在详细的模拟器与它所模拟的真实硬件芯片上运行的性能相近,但是在模拟器环境下,使用测试程序来评价芯片的设计,需要漫长的执行时间。基于行为特征剖析的CUDA程序合成方法为解决模拟器环境下测试程序执行时间漫长的问题提供了有效的手段。在体系结构的性能研究中,为了测试某个芯片的性能或者能耗,体系结构研究人员使用了具有诸多行为特征的测试程序,例如指令混合比例、线程数量、控制流中的跳转概率等,而对于程序的功能不在考虑之列。在CUDA程序合成系统中,使用了从指令级别到线程级别的许多行为特征作为CUDA程序源代码生成器的输入,得到一个合成后的替代程序的内核。尽管合成后的替代程序与原始的程序在使用功能上和动态指令数上是不同的,它却与原始的程序有着非常接近的性能。这是因为,CUDA程序合成的过程中通过扩展GPGPU-Sim模拟器开发了内建的程序剖析工具,以及确定了影响性能的许多重要因素。在生成替代程序后,通过实验比较了合成后的替代程序与原始的程序从指令级别到线程级别的诸多行为特征上的相似性,并采用吞吐率、动态指令数以及运行时间等性能指标来检验CUDA程序合成方法的有效性。使用来自CUDA SDK、Parboil和Rodinia的测试程序的实验结果表明,合成后的替代程序在线程的维度和线程总数上与原始程序完全一致,而在基本块的个数、平均大小、平均后继数量等基本块级别的特征以及静态指令混合比例上,原始程序与合成后的替代程序的保持了较高的相似性。对于所测试的大部分程序,合成后的替代程序的动态指令数和运行时间有了非常明显的减少。在程序整体性能的表现上,所测试的原始程序与合成的替代程序的IPC的误差不到10%。
其他文献
Web离线应用由于其在网络断开的情况下仍能为用户提供良好的服务而成为当今的一个热点研究问题。许多著名公司和机构相继在自己的产品上发布了离线应用版本,如谷歌公司的Gmail
用户界面是用户和信息系统进行信息传递的接口,是系统信息架构和应用结构的最终可视化体现。同时,用户界面也是信息导航功能的主体,它为用户提供获取信息的途径,扮演着非常重
随着计算机技术的迅猛发展,虚拟现实技术已经被应用在很多领域,同时对图形生成的真实感和实时性两个方面都提出了极高的要求。对于静态的文物场景来说,采用预计算渲染技术能
近年来,进化多目标优化(Evolutionary Multi-objective Optimization,EMO)算法研究逐渐成为进化计算研究领域的一个重要内容。EMO算法一次运行就可以获得一组具有代表性的Par
移动机器人由于行动灵活、完成复杂任务能力强,在当今社会应用越来越广泛。移动机器人的自主导航功能,作为移动机器人是其最基本、最重要的功能,一直以来都被各领域研究者所关注
随着数据挖掘技术在各行各业的广泛应用,人们对这一领域的相关技术越来越关注。数据聚类和社区发现是数据挖掘领域中十分重要的两个课题,它们之间也有一些共性。聚类是指将数据
随着全球经济的飞速发展,现代物流服务已成为世界各国促进产业结构调整、转变经济发展方式和增强国民经济竞争力的重要手段,也是国家现代化程度和综合国力的重要标志,因此对
传统的基于文本的图像检索存在耗费人力、信息不完整、歧义性等问题,促使了基于内容的图像检索的出现。基于内容的图像检索分为基于全局特征的方法和基于局部特征的方法。基
网络流量分类技术是互联网运营商对网络状况进行监督,进而对网络进行管理的重要手段。随着互联网技术的快速发展,在不增加网络带宽的情况下提升网络的性能成了亟待解决的问题。
多视图立体三维重建一直是计算机视觉领域最热门的研究问题之一,它的目标是通过拍摄物体的图片来自动的恢复具有真实感的物体三维模型。近年来,随着信息技术的不断发展,三维重建