共查询到17条相似文献,搜索用时 93 毫秒
1.
2.
当前面向单指令多数据(SIMD)扩展部件的两类向量化方法分别是循环级向量化方法和超字级并行(SLP)方法。针对当前编译器不能实现函数级向量化的问题,提出一种基于静态单赋值的函数级向量化方法。该方法首先分析程序的变量属性,然后利用一组包括向量函数子句、一致子句、线性子句等编译指示子句指导编译器实现函数级向量化,最后利用变量属性结果对向量化代码进行了优化。从多媒体和图像处理领域选择部分测试用例对所提的函数级向量化的功能和性能在国产申威平台上进行测试,与程序串行执行相比,采用函数级向量化后程序的执行效率更高。实验结果表明函数级向量化可以取得类似任务级并行的加速效果,该方法可以指导自动函数级向量化的实现。 相似文献
3.
向量化中数据依赖关系的强化 总被引:1,自引:1,他引:0
本文以数组项为结点的循环向量化分析方法,对“如果一个语句的所有结点(数组的每次出现)都不在递归回路中,则这个语句就能写成向量形式”的论点提出了反面例证,并通过对数据依赖关系进行强化的方法对循环体的部分向量化问题做了重新论述。 相似文献
4.
如今,越来越多的处理器集成了SIMD(single instruction multiple data)扩展,现有的编译器大多也实现了自动向量化的功能,但是一般都只针对最内层循环进行向量化,对于多重循环缺少一种通用、易行的向量化方法.为此,提出了一种面向SLP(superword level parallelism)的多重循环向量化方法,从外至内依次对各个循环层次进行分析,收集各层循环对应的一些影响向量化效果的属性值,主要包括能否对该循环进行直接循环展开和压紧、有多少数组引用相对于该循环索引连续以及该循环所包含的区域等,然后根据这些属性值决定在哪些循环层次进行直接循环展开和压紧,最后通过SLP对循环中的语句进行向量化.实验结果表明,该算法相对于内层循环向量化和简单的外层循环向量化平均加速比提升了2.13和1.41,对于一些常用的核心循环可以得到高达5.3的加速比. 相似文献
5.
6.
何越强 《计算机工程与设计》2011,32(6):2020-2023
为了使循环在编译过程中更充分地被向量化,提出了一种基于代价分析的向量化循环分割技术。标记出了迭代依赖间隔中不存在依赖关系的循环片段,在此基础上建立一个简单有效的代价分析模型来评估这些循环片段向量化和未向量化的CPU时钟周期开销,最后从代价分析结果中确定是否需要将其向量化分割,从而把向量化特性应用到细短的循环片段。实验结果表明了该技术的有效性,对迭代依赖距离大的循环片段优化作用更明显。 相似文献
7.
循环倾斜是程序优化中一种循环变换的手段,它改变空间迭代形式,将循环存在的跨迭代的并行用传统的并行标识出来,使得循环可以并行执行。但是循环倾斜后,并行执行的数据在内存中是离散的,而且每次迭代执行的次数是不一致的。为了更有效地利用SIMD,本文提出一种基于全局数据重组的循环倾斜优化方法。首先分析循环倾斜优化,针对数据离散的问题实现全局数据重组,改善数据局部性,循环易于向量化操作;针对迭代执行次数不一致问题,实现非满载向量操作,使尾循环得以向量执行。最后选择wavefront程序进行测试,优化后,程序计算可以获得平均10.73倍的加速效果。 相似文献
8.
面向非多媒体程序的SIMD向量化算法的研究及改进 总被引:3,自引:0,他引:3
利用微处理器的多媒体扩展对非多媒体程序的向量化已成为提高程序性能的一个重要手段,然而目前几乎所有的商业编译器对非多媒体程序的向量化的结果,都无法说明其编译器有效的向量能力.本文通过分析典型的非多媒体程序——SPECCPU2000浮点程序,归纳出非多媒体程序的SIMD向量化特征,并依此提出局部数据重组的向量化方法、针对外层循环的向量化方法、部分语句SLP的向量化方法几种新的向量化方法和相关的向量化优化技术.通过对比Intel编译器对SPEC CPU2000的向量化性能测试,可以发现本文提出的改进方法有效的提高了程序的向量化. 相似文献
9.
随着多媒体应用的普及和高性能计算的需求,越来越多的处理器集成了SIMD扩展。为了针对不同SIMD扩展部件自动生成高效的向量化代码,设计了一套虚拟向量指令集,在此基础上构建了一种面向SIMD扩展部件的向量化统一架构。将输入程序通过向量识别等阶段转变为虚拟向量指令的中间表示,而后通过向量长度解虚拟化和指令集解虚拟化,将其转变为特定SIMD部件的向量指令集。在申威1600、DSP和Alpha上的实验结果表明:统一架构能够针对3种平台自动变换出高效的向量化代码,在DSP上的加速比要明显优于其它两种平台。 相似文献
10.
串行程序的依赖关系分析和向量化 总被引:1,自引:0,他引:1
本文提出了两种新的数据依赖关系分析方法——系数判别法和实分析方法,其中,系数判别法在GCD方法基础上,给出数组项之间精确的依赖关系,并直接给出依赖的方向.实分析方法没有目前其他分析方法所要求的下标为循环控制变量的线性函数的限制.并且,很自然地解决了Coupled subscr-ipts及隐关系的分析问题.另外,本文探讨了破除数据依赖关系的方法及向量化的问题.文中的算法均己在UNIX环境下实现. 相似文献
11.
如今单指令多数据流(SIMD)技术在数字信号处理器(DSP)上得到了广泛的应用,现有的向量化编译器大多都实现了自动向量化的功能,但是编译器并不适合支持DSP为特征的SIMD自动向量化,主要由于DSP复杂的指令集、特有的寻址模型,以及依赖关系或者数据非对齐等原因而导致向量化效率不高。为了解决此问题,在基于Open64的超字并行(SLP)自动向量化编译系统后端,对SLP自动向量化中的指令分析和冗余优化算法进行了添加和改进,生成更加高效的向量化源程序。实验结果表明,该优化方法能有效提高DSP性能并降低功耗。 相似文献
12.
针对3GPP-LTE协议中多输入多输出(MIMO)均衡算法的高复杂度和高吞吐率问题,提出了一种面向软件无线电的并行MIMO均衡处理器,该处理器采用单指令流多数据流(SIMD)和超长指令字(VLIW)技术同时开发子载波间MIMO均衡和子载波内矩阵运算的并行性,并且每一个SIMD功能单元能够支持16 bit定点和20 bit伪浮点复数向量运算和矩阵运算,满足不同天线配置的MIMO均衡算法对处理精度、延迟和功耗的要求。实验结果表明,MIMO均衡处理器的4×4矩阵逆运算吞吐率达到了95 MInversion/s,满足3GPP-LTE协议的要求,并且其灵活可编程性和可配置性能够支持不同的均衡算法。 相似文献
13.
A control parallel and a novel data parallel implementation of the Sutherland-Hodgman polygon clipping algorithm are presented. The two implementations are based on the INMOS transputer and the AMT Distributed Array Processor respectively; both of these machines are general purpose parallel processors. Performance Figures are reported and implications for further work are discussed. 相似文献
14.
15.
近年来,传统的SOC设计方法已无法跟上数据密集型应用的需求。采用了一种面向应用的设计思路,通过添加定制的协处理器和扩展指令集的方式来加速语音编解码算法。选用可配置的LEON-2 RISC软核,并嵌入特别定制的向量乘累加单元来减少运算密集型模块的计算时间,采用不添加新的IP模块的方法改善性能。实验结果表明,对于大量使用乘累加运算的编解码算法,其加速效果最为明显,运算时间平均减少了45%。目前,整个系统已经在Stratix2 EP2S60C5 FPGA上得到了验证,频率50 MHz。 相似文献
16.
17.
根据基于PIM(Processor-In-Memory)技术的数据并行计算机体系结构的特点和面向多媒体计算的应用需求,提出了面向嵌入式SIMD(Single Instruction Multiple Data)计算的数据并行语言PIMC。简单讨论了PIMC语言的形式化定义,并以数据并行图像处理的均值滤波算法为例对语言的使用作了说明。结合其他大量的数据并行编程实例,说明了该语言能够在基于PIM技术的SIMD并行计算机上正确描述基本多媒体处理算法的数据并行实现。 相似文献