基于GCC编译器的UniCore32 SIMD自动向量化研究与实践

来源 :北京大学 | 被引量 : 0次 | 上传用户:cctvnba_2008
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
由于多媒体程序在现代计算机系统中越来越广泛的应用,其性能受到了普遍重视。目前,大多数通用微处理器都通过引入一套短SIMD指令对媒体程序进行支持。这些指令可以对拼装在寄存器或主存中的若干组数据并行地进行操作,对它们的高效使用可能大幅提高多媒体程序以及其它计算密集型程序的性能。自动向量化是一项重要的编译优化技术,它通过分析顺序代码,自动找出其中的数据并行性并将其转化成等价的、利用短SIMD指令实现的并行代码,从而提高代码的运行时性能。   北京大学微处理器研发中心为支持多媒体程序,在UniCore*微处理器中引入了SIMD指令系统,UniCore2D/3D。本文基于GCC编译器实现并研究UniCore平台的自动向量化。本文首先对GCC编译器中的自动向量化器的结构进行分析,探讨在实现自动向量化器中面临的问题与权衡;在此基础上,实现了UniCore后端的自动向量化。本文进一步针对GCC自动向量化测试集中出现的各种向量化目标,分析当前UniCore平台自动向量化的能力和局限性,针对表现出的局限性提出可能的解决方案;最后,通过SPEC2000和MediaBench中部分程序的运行性能来评测目前自动向量化的效果,并分析针对SPEC2000和MediaBench中真实应用程序的自动向量化进行的详细情况,归纳总结当前影响某些循环自动向量化的主要原因。   实验和分析表明:一、自动向量化对于提高计算密集型程序的性能有着巨大的潜力;二、基于GCC编译器的UniCore平台自动向量化仍然存在着较大的改进空间。
其他文献
随着计算机技术的日益发展和防护林体系建设的变革,以及森林可持续经营对森林资源信息利用的要求,促使了防护林体系空间配置调整思想在林业研究领域中的日渐深入。使用防护林体
随着集成电路工艺的不断提高,系统芯片的设计和验证工作日益复杂,基于FPGA原型实现的动态验证技术,可以提供接近ASIC实现的仿真速度。基于FPGA硬件原型的软硬件协同设计环境,能够
随着计算机技术的发展与数字图书馆资源建设的深入,数字图书馆中电子论文等数字资源的总量日益增多。目前,常见的基于关键词的电子论文检索服务,主要是通过用户输入需要查询的关
词义消歧是计算语言学领域的基础研究课题之一,长期以来在机器翻译中扮演重要角色。在Internet迅速扩张的今天,词义消歧也是提高信息检索性能的重要途径。本文针对有指导词义消
超声电机是一种全新原理的直接驱动电机,它是利用压电陶瓷的逆压电效应使定子产生超声振动,通过定子和转子间的摩擦力来驱动转子运动。超声电机具有体积小、重量轻、结构紧凑、
频繁项集挖掘是数据挖掘领域中一个比较关键的问题。然而,从大型稠密数据集中挖掘频繁项集存在三个主要的瓶颈问题:第一,算法的挖掘效率不是很高;第二,产生的频繁项集的数量
随着网络技术的持续发展,以及面向服务的计算、普适计算、网格计算等新计算范型的不断涌现,Internet逐步发展成为新一代软件运行环境。“网构软件”的概念也应运而生。相对于传
应用服务器为网络应用的开发、部署和运行提供全方位的支持,并提供一系列公共服务以降低应用的开发难度。目前,越来越多的网络应用的开发和运行都依赖于应用服务器和它所提供的
随着Web服务的广泛应用,面向服务的计算(SOC)已成为软件技术的发展方向。面向服务的计算采用面向服务体系架构(SOA),通过集成分布、自治的Web服务来构建软件应用,具有快速开发、
近些年歼-10战斗机、FAST射电望远镜等新型大型装备的快速发展,依赖大量试验数据的深度分析。传统的试验数据处理主要依靠专家经验与计算机工具辅助处理,在处理中多依赖单一计