针对实际多媒体程序和多媒体扩展指令集的SIMD编译优化

来源 :复旦大学 | 被引量 : 0次 | 上传用户:kevil2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着多媒体应用的日趋广泛,几乎所有的通用处理器厂商都为其处理器增加了多媒体扩展。这些多媒体扩展都利用了多媒体程序中广泛存在的SIMD并行性,从而在指令集上表现为SIMD指令集。为了节约成本,处理器厂商一般都重用现有的处理器资源(数据通路、内存接口等等)来实现这些SIMD指令集。 目前使用这些指令集的主要手段是程序员在编译器的有限支持下,费时费力的手工书写SIMD指令。为了能够让这些指令集被充分利用,我们需要编译器自动的根据串行代码生成SIMD指令(称为SIMD编译优化)。 这种优化和传统的针对向量处理器的自动向量化非常类似。但到目前为止,这方面的研究对于实际的多媒体程序能够取得性能加速的并不多。 本文首先从多媒体扩展指令集和多媒体实际程序两个角度去分析SIMD编译优化的机遇和问题所在。我们发现:在现有的处理器架构下,SIMD指令和其对应的标量指令相比,并不一定具有性能优势。多媒体扩展指令集最能产生性能加速的方面是其对小数据类型运算和多媒体程序中常见但比较复杂运算(多媒体典型操作)的SIMD支持上。 而妨碍SIMD编译优化的是以下几个问题: 1.多媒体扩展指令集和传统向量指令集存在一些根本的不同,从而使得要根据指令支持和性能评估来向量化代码块的语句。 2.多媒体源程序中复杂的代码形式,妨碍了可向量化操作的识别。 3.各种多媒体典型操作的变化多样。以前是通过为每种代码形式准备一个专门的识别模块来实现特定操作(idiom)的识别的。但对于多媒体程序来说,这种方法是不可行的。这是因为:一方面识别模块数量大大膨胀,使得编译器的书写和移植都变得很困难;另一方面,我们很难枚举出所有的可能形式来,所以识别的效果也并不一定好。 然后,本文通过扩展传统向量化中基于数据相关性的向量化算法,引入专门的代码规范化和识别模块来解决这些问题。 首先,我们通过代码规范化步骤来最大限度的将多媒体程序的源代码规范化,从而方便识别和向量化。这些规范化包括:循环规范化、循环折叠、指针变数组、变量值域分析、映射数组变换等等。其中一种最重要的规范化方法是
其他文献
在自治计算环境中,自治元素有自主管理的特性,没有“超级”元素对它们的行为统一调度和指挥。因此协商成为了自治元素在合作时解决利益冲突与任务分配问题的必然选择。本文应
叠音词是一种词汇现象,它被大量运用于《诗经》的许多篇章中。本文对《诗经》中的叠音词进行了分类,并就叠音词对诗中主体情感表现所起的作用,以及《诗经》大量使用叠音词的
在广西壮族自治区柳州市鱼峰区大龙潭社区有件新鲜事,社区调委会人民调解员调解居民纠纷不是有嘴巴摆事实、讲道理、说法律,而是用通俗易懂的山歌唱出来,这山歌一唱唱得矛盾
<正> 根据男女平等的原则,早在10年前就有人呼吁,让男人怀孕也来体验和经受十月怀胎的苦难历程。为了证明男人生孩子的可能性,科学家提出了好几种方案:一是给男人装上人造子
采用虚拟仿真技术建设纺纱实验设备以及实验流程,建立纺纱虚拟仿真实验室,并将其应用于“纺纱学”课程理论教学,使学生可以深入地了解设备结构,实时地了解工艺参数设定与产品
词义的理解对留学生的词汇乃至汉语学习有着至关重要的作用,而语素作为构词单位,是影响留学生词义理解的因素之一。本文从语素的特点出发,探讨了语素的形体、意义、构词方式对留
临床护理教学管理,是整个护理教学中不可缺少的重要环节,它直接关系到临床护理教学质量的优劣,关系到能否为各级医疗机构输送合格的护理人才。随着护理学科的发展、患者法制意识
临床护理路径(clinical nursing pathway ,CNP)是一个可以预先决定起点和终点的流程,其功能是运用图表的形式提供有时间的、有序的、有效的照顾,以控制质量和经费,是一种跨学科的、
<正> 在安徽省历史学会一九八三年十月召开的学术年会上,部分高校和中学历史教师就如何运用历史学科对广大青年进行爱国主义教育,展开了热烈讨论,在会上发言或书面发言的主要
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield