SIMD编译优化技术研究

来源 :浙江大学信息科学与工程学院 浙江大学 | 被引量 : 0次 | 上传用户:wwwvvv79
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
多媒体应用是近年来计算机领域的研究热点。多媒体应用的代码往往具有较高的并行度。为了获得更高的性能,几乎所有的处理器厂商都为其处理器增加了多媒体扩展,以充分利用处理器的计算能力,并提供了具有单指令多数据特点的指令集,简称为SIMD指令。SIMD指令能够对一组数据执行向量形式的运算,每组数据被划分为几个子字,并对所有的子字都执行相同的操作。SIMD指令能够带来较高的执行效果、较低的功耗和较好的资源利用率。充分利用SIMD指令可以有效提高应用程序的性能。但是目前编译器对SIMD指令的支持并没有达到足够令人满意的程度。程序员往往需要通过手写汇编代码、内嵌汇编、或者通过使用编译器认识的内部函数等手段在代码中显示的使用SIMD指令。这要求程序员对SIMD指令集有深入了解,提高了多媒体程序的开发难度。此外,由于不同处理器的SIMD指令集之间差异较大,从而使代码的可移植性降低。因此我们希望编译器能够自动的从高级语言生成SIMD指令。称为SIMD编译优化。这种优化和传统的针对向量处理器的自动向量化非常类似,因此又称为SIMD向量化。但体系结构和主要应用领域的不同使多媒体扩展和向量处理器之间存在较人差异。两者在向量长度、指令集特点以及存储操作等方面存在着关键区别。妨碍SIMD编译优化的主要有以下几个问题:多媒体程序中复杂的代码形式影响了向量化效果,各种多媒体典型操作变化较多不易识别,存储操作功能较弱制约了优化性能的提升。本文提出了一种面向由C语言编写的多媒体应用程序、与目标平台无关的SIMD向量化方法,是对原有的向量化方法的扩展与改进,解决了现有技术中含有指针形式的C程序难以向量化、多媒体典型操作无法有效识别、SIMD寄存器数据利用率不高等问题,能够有效生成SIMD指令。该方法主要在语法树中间表示上进行,不改变编译后端的结构,具有较好的可移植性和可扩展性。该方法对传统向量化算法的主要改进之处在于:对多媒体C代码广泛存在的指针访问进行了分析处理;采用模式匹配方法有效识别复杂的多媒体典型操作;采用循环分布、循环交换等方法提高了循环中潜在的并行性;本文还提出了一种SIMD寄存器分配方法减少冗余存储操作,降低因体系结构限制而产生的数据存储操作开销。
其他文献
随着各类多媒体编辑软件的广泛传播,网上出现了大量的编辑过或篡改过的视频资源,其中一些资源足以做到以假乱真。只有能够有效地验证这些视频资源的真实性,人们才能放心地使
行人属性是指人的一些典型外部特征,如“性别”、“发型”、“穿衣风格”等。行人属性检测的主要目的是从未知的视频或图像中自动识别属性类别,从而有效缩小底层特征和高层特
随着计算机和数据网络技术的迅猛发展,网络中服务系统结构更加复杂。系统中各个程序的运行是相互依赖的。如果一个系统中的某些资源出现故障,就会导致依赖这些资源的程序无法
传统的纸介质考试是我们一直采用的考试方式,客观公正地反映考生成绩是各种考试所追求的目标,节约考试成本也是考试组织者们应该关注的问题。传统的考试以“纸笔”为主,考试过程
图像间的色彩传递是数字图像处理领域一个新兴的问题。其过程可以理解为,利用用户给定的输入图像A和样本图像B两幅图像生成一幅新的图像C,使C同时具有输入图像A的形状信息和
学位
合成孔径雷达(Synthetic Aperture Radar,SAR)是一种高分辨率成像雷达,它具有全天侯、全天时的工作特点,在国防现代化技术和国民经济建设具有十分重要的意义。合成孔径雷达有
RFID(无限射频识别)是一种新型的识别技术,被称为2005年十大热门技术之一,其应用涉及物流、航空、畜牧业、移动商务、票证管理、生产线自动化等各个行业,应用范围非常广泛。
三维重建技术有着广泛的应用,例如增强现实(AR)、实时定位与绘图(SLAM)、文物重建等。近年来,微软公司推出的Kinect以及其他消费级RGB-D相机的出现极大地推动了三维重建领域