首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 125 毫秒
1.
面向向量化的局部数据重组   总被引:1,自引:0,他引:1  
目前,利用微处理器的多媒体扩展对非多媒体程序的向量化已成为提高程序性能的一个重要手段.然而,和多媒体程序相比,非多媒体程序存在大量的非连续和非对齐的数据引用方式,严重影响程序的向量化发掘和向量化性能.提出一种新的向量化方法-基于局部数据重组的向量化技术(.通过改变局部数据的布局,将循环中不连续的数据引用变为连续的数据引用,进而完成对循环的向量化;并对数据引用作对齐分析和对齐优化,从而提高程序的向量化性能.以SPEC CPU2000浮点测试集为例,该方法不仅可以向量化对于ICC编译器无法向量化的程序,而且对这些程序都有很好的性能提升,在当前的测试环境下某些程序性能最高可提高241.6%.  相似文献   

2.
结构体广泛应用在科学计算等应用程序中,向量化结构体数组存在的非连续和非对齐访存会严重影响程序的向量化效果。为减少结构体数组SIMD向量化过程中的非连续和非对齐数据访问,提出了基于域访问亲和度与域数据类型相结合的结构体拆分模型,以消除域存储间的内存“间隙”;同时利用结构体数组到二维数组的地址映射方式来满足结构体数组向量化时的访存连续和对齐要求,以降低Cache的失效率,从而提升应用程序性能。在自动向量化系统SW-VEC上,选取gcc-vec、spec2000和spec2006标准测试集中部分相关的测试用例,测试结果表明:与相应的串行程序相比, 采用该方法后,测试用例程序性能加速比提高了8%以上。  相似文献   

3.
姚金阳  赵荣彩  王琦  李颖颖 《计算机科学》2018,45(9):220-223, 236
对现有的编译器而言,间接数组索引不能被高效地向量化,这使得程序中包含有该类访存形式的间接数组索引不能利用SIMD扩展部件,这也是程序向量化研究中的热点问题。为了高效地利用SIMD扩展部件,充分挖掘程序中的向量化潜能,提出了一种对间接数组索引进行向量化的新方法,且提供了性能收益方法,分别对各种间接数组索引进行性能收益分析。实验结果表明,使用该向量化方法可以显著地提高程序的执行效率。  相似文献   

4.
面向非多媒体程序的SIMD向量化算法的研究及改进   总被引:3,自引:0,他引:3  
利用微处理器的多媒体扩展对非多媒体程序的向量化已成为提高程序性能的一个重要手段,然而目前几乎所有的商业编译器对非多媒体程序的向量化的结果,都无法说明其编译器有效的向量能力.本文通过分析典型的非多媒体程序——SPECCPU2000浮点程序,归纳出非多媒体程序的SIMD向量化特征,并依此提出局部数据重组的向量化方法、针对外层循环的向量化方法、部分语句SLP的向量化方法几种新的向量化方法和相关的向量化优化技术.通过对比Intel编译器对SPEC CPU2000的向量化性能测试,可以发现本文提出的改进方法有效的提高了程序的向量化.  相似文献   

5.
姚远  赵荣彩 《计算机工程》2012,38(12):272-275
编译器由于程序分析能力不足,无法自动实现循环向量化或者会造成盲目自动向量化。为此,提出一种基于编译指示的向量化方法。通过在代码中插入向量化编译指示语句,指导自动向量化编译工具的处理过程,自动生成高效的向量化代码。测试结果表明,该方法能够有效提高目标代码的运行性能。  相似文献   

6.
当前面向单指令多数据(SIMD)扩展部件的两类向量化方法分别是循环级向量化方法和超字级并行(SLP)方法。针对当前编译器不能实现函数级向量化的问题,提出一种基于静态单赋值的函数级向量化方法。该方法首先分析程序的变量属性,然后利用一组包括向量函数子句、一致子句、线性子句等编译指示子句指导编译器实现函数级向量化,最后利用变量属性结果对向量化代码进行了优化。从多媒体和图像处理领域选择部分测试用例对所提的函数级向量化的功能和性能在国产申威平台上进行测试,与程序串行执行相比,采用函数级向量化后程序的执行效率更高。实验结果表明函数级向量化可以取得类似任务级并行的加速效果,该方法可以指导自动函数级向量化的实现。  相似文献   

7.
划分是把程序中不同的计算和数据分配到并行处理系统的不同处理机来充分利用并行系统的计算资源、提高程序处理速度的一种优化技术.划分的效果对程序在并行系统上的执行效率将产生至关重要的影响,因此划分问题一直是并行领域研究的一个热点.但是应用程序的一些特性,如非紧密嵌套循环、一条语句对非只读数组的多次引用间存在重叠、不同语句对同一数组不同步长的引用,给有效解决划分问题设置了极大的障碍.已有的划分算法无法对具有这些特征的程序进行自动划分.虽然在对具有这些特征的程序进行手工优化过程中,存在一些直观上的划分策略,但这些策略无法应用到编译器中来指导编译器完成对程序的自动划分.文中根据这类程序的特点,提出了一种基于代表元的划分算法.该算法通过使用程序中对划分计算产生实际影响的数组引用作为代表元素构造各种划分的限制条件,完成程序的划分.同时通过寻找最大一致性数据划分方向有效减少了程序划分过程中的数据重组织通信.该算法已经在AFT2004中实现,并对应用程序获得了很好的效果.  相似文献   

8.
李彬  翟娟  汤震浩  汤恩义  赵建华 《软件学报》2018,29(6):1544-1565
本文提出了一个基于抽象解释框架自动合成数组程序不变式的方法.它能够分析按照特定顺序访问一维或者多维数组的程序,然后合成不变式.该方法将性质(包括区间全称量词性质和原子性质)集合作为抽象域,通过前向迭代数据流分析合成数组性质.本文证明了该方法的正确性和收敛性,并通过一些实例展示了该方法的灵活性.我们开发了一个原型工具.该工具在各种数组程序(包括Competition on Software Verification中的array-examples benchmark)上的实验展示了方法的可行性和有效性.  相似文献   

9.
传统的向量化方法和超字并行方法依靠数据依赖关系分析确定程序中的并行性,而依赖关系分析无法处理非结构化控制流语句,现有的编译器对该类语句的向量化能力有限。为此,给出一种面向SIMD扩展体系结构的出口分支语句向量化方法,该方法针对一个向量因子内的出口分支语句,能够有效地进行自动向量化处理。测试结果表明,该方法既充分发掘了程序数据流中的并行性,又保证了控制流语义的正确性。  相似文献   

10.
基于线性表出的非奇异循环变换局部性优化方法   总被引:1,自引:0,他引:1  
夏军  戴华东  杨学军 《计算机学报》2003,26(12):1609-1620
开发程序的局部性是当今并行编译优化研究的重点之一,而程序变换是开发程序时间局部性和空间局部性的重要手段之一.该文提出了一种新的利用非奇异循环变换来优化程序局部性的局部性优化方法,即基于线性表出的循环变换.该方法利用一组最少的线性无关向量组来线性表出数组访问的下标表达式,并据此构造非奇异变换矩阵来优化数组访问的时间局部性和空间局部性.该方法能充分开发数组访问的时间局部性,能简便地确定是否能对数组访问进行时间局部性或空间局部性优化,并能对给定的嵌套循环同时进行时间局部性和空间局部性优化.实验结果表明了该文所提出的基于线性表出的非奇异循环变换局部性优化方法是有效的.  相似文献   

11.
Large-scale global optimization (LSGO) is a very important but thorny task in optimization domain, which widely exists in management and engineering problems. In order to strengthen the effectiveness of meta-heuristic algorithms when handling LSGO problems, we propose a novel meta-heuristic algorithm, which is inspired by the joint operations strategy of multiple military units and called joint operations algorithm (JOA). The overall framework of the proposed algorithm involves three main operations: offensive, defensive and regroup operations. In JOA, offensive operations and defensive operations are used to balance the exploration ability and exploitation ability, and regroup operations is applied to alleviate the problem of premature convergence. To evaluate the performance of the proposed algorithm, we compare JOA with six excellent meta-heuristic algorithms on twenty LSGO benchmark functions of IEEE CEC 2010 special session and four real-life problems. The experimental results show that JOA performs steadily, and it has the best overall performance among the seven compared algorithms.  相似文献   

12.
For many parallel applications on distributed memory systems, array re-decomposition is usually required to enhance data locality and reduce the communication overheads. How to effectively schedule messages to improve the performance of array re-decomposition has received much attention in recent years. This paper is devoted to develop efficient scheduling algorithms using the compiling information provided by array distribution patterns, array alignment patterns and the periodic property of array accesses. Our algorithms not only avoid inter-processor contention, but also reduces real communication cost and communication generation time. The experimental results show that the performance of array redecomposition can be significantly improved using our algorithms  相似文献   

13.
由于向量化重组指令比较复杂并且不同指令有不同的延迟,从而难以寻找一种统一高效的向量重组算法。对国产CPUSW-1600提供的移位和插入提取指令进行了分析,提出单独依靠移位或插入提取指令实现向量重组的最优算法,并综合这两类指令实现向量重组的高效算法。最后通过实验证明该算法可以较好地对程序进行向量化,对整型数据的加速比达到7.31,对复杂的双精度浮点型程序的加速比也达到1.83。  相似文献   

14.
针对微纳遥感卫星从技术试验阶段到业务化应用的转型发展,如何缓解其能量来源的受限条件,获取更高的太阳能充电效能,对微纳遥感卫星未来星座构建的发展需求有重要作为。通过设计不同构型的微纳卫星太阳翼,构造太阳电池阵列的仿真模型,根据太阳能电池阵列在微重力空间下的工作特性,仿真分析微重力空间下不同构型太阳翼的充电性能和充电效率,并对不同构型的使用性能进行了分析比较,结果表明,选择最优太阳翼构型能够为微纳遥感卫星提供更好的能源和动力支撑,为后续微纳遥感卫星开展更多商业应用提供有效参考。  相似文献   

15.
大阵元超声相控阵多组扫查系统,可提供更好的扫查灵活性、图像对比度,增加聚焦法则多样性并实现分布式 扫查。为在资源有限的条件下提高资源利用率,保证实时性,实现分布式扫查,需要研究系统资源复用以及数据处理协同调度,减少仪器硬件开销和避免信号处理混叠冲突,提高仪器性能。因此重点研究大阵元超声相控阵多组扫查系统中多组延时聚焦、多组同构流水信号处理、异构分层多DAG(有向无环图)信号处理等方面调度理论方法与关键技术,并应用于大阵元超声相控阵多组扫查仪器研制。  相似文献   

16.
现有的聚类融合算法从聚类成员的角度出发,若使用全部聚类成员则融合结果受劣质成员影响,对聚类成员进行选择再进行融合则选择的策略存在主观性。为在一定程度上避免这两种局限性,可以从元素的角度出发,提出一种新的聚类融合方法。通过多粒度决策不一致粗糙集来选择一部分类别确定的元素,再利用这部分元素进行聚类融合生成新的划分;多粒度决策不一致粗糙集模型能够刻画多粒度决策过程中属性一致而决策不一致的现象,提出了一种基于多粒度决策不一致的粗糙集模型,并给出了一种聚类融合方法。具体做法是:首先在数据集上多次使用K-means聚类算法,生成论域上的多个粒结构;其次对所有粒结构两两之间求粒间包含度,建立包含度矩阵,对矩阵使用Otsu算法计算阈值,得出多组满足阈值条件的信息粒,求解多粒度决策不一致下近似和上近似;最后分别处理下近似与边界域中元素的类别,从而获得了一个经过融合的聚类划分。实验结果表明,该方法能够有效改善聚类的结果,具有较高的时间效率,且算法具有较好的鲁棒性。  相似文献   

17.
针对高密度数据计算的要求,提出了一种VLIW处理器阵列多芯片互联的简单方法,通过独特的微码结构,建立具有可配置特征的高速数据通道的控制模型,适合构建高性能的媒体处理器阵列,模型能有效地改善系统扩展所需要的灵活性,实现高带宽的存储器接口和高性能的总线控制结构,提高了数据存取的连续性和灵活性,避免了运行过程中大量不必要的系统中断和功能切换开销,可显著提高数据处理带宽。  相似文献   

18.
An increasing number of programming languages, such as Fortran 90 and APL, are providing a rich set of intrinsic array functions and array expressions. These constructs which constitute an important part of data parallel languages provide excellent opportunities for compiler optimizations. In this paper, we present a new approach to combine consecutive array operations or array expressions into a composite access function of the source arrays. Our scheme is based on the composition of access functions, which is analogous to a composition of mathematic functions. Our new scheme can handle not only data movements of arrays with different numbers of dimensions and with multiple-clause array operations but also masked array expressions and multiple-source array operations. As a result, our proposed scheme is the first synthesis scheme which can collectively synthesize Fortran 90 RESHAPE, EOSHIFT, MERGE, array reduction operations, and WHERE constructs. In addition, we also discuss the case that the synthesis scheme may result in a performance anomaly in the presence of common subexpressions and one-to-many array operations. A solution is proposed to avoid such a performance anomaly. Experimental results show speedups from 1.21 to 2.95 over the base code for code fragments from real applications on a Sequent multiprocessor machine and also show comparable performance improvements on an 8-node SGI Power Challenge by incorporating our proposed optimizations  相似文献   

19.
IP core implementation of a self-organizing neural network   总被引:1,自引:0,他引:1  
This paper reports on the design issues and subsequent performance of a soft intellectual property (IP) core implementation of a self-organizing neural network. The design is a development of a previous 0.65-/spl mu/m single silicon chip providing an array of 256 neurons, where each neuron stores a 16 element reference vector. Migrating the design to a soft IP core presents challenges in achieving the required performance as regards area, power, and clock speed. This same migration, however, offers opportunities for parameterizing the design in a manner which permits a single soft core to meet the requirements of many end users. Thus, the number of neurons within the single instruction multiple data (SIMD) array, the number of elements per reference vector, and the number of bits of each such element are defined by synthesis time parameters. The construction of the SIMD array of neurons is presented including performance results as regards power, area, and classifications per second . For typical parameters (256 neurons with 16 elements per reference vector) the design provides over 2 000 000 classifications per second using a mainstream 0.18-/spl mu/m digital process. A RISC processor, the array controller (AC), provides both the instruction stream and data to the SIMD array of neurons and an interface to a host processor. The design of this processor is discussed with emphasis on the control aspects which permit supply of a continuous instruction stream to the SIMD array and a flexible interface with the host processor.  相似文献   

20.
§1.引 言EPHDC-2D程序是一个计算二维弹塑性流体动力学拉氏程序,其空间离散采用四节点的有限元方法,其时间积分采用显式的中心差分格式.程序分为三大部分:导程序、主体计算和网格重分.主体计算又分为滑移线计算和守恒方程的计算.我们已实现守恒方程的并行计算,(见文[5]),本文总结关于滑移线的并行计算.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号