首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 125 毫秒
1.
作为SIMD扩展部件向量化的重要手段,自动向量化已在LLVM编译器中得到实现,但向量长度以及指令集功能的差异,导致国产平台在自动向量化过程中容易错失向量化机会以及向量化后产生倒加速的问题。为使SIMD得到充分应用,结合国产平台的指令集特征完善指令代价信息以提高收益分析精准度,使其在自动向量化后生成后端支持且简洁高效的向量指令。在此基础上,提出一种改进的控制流向量化方法,通过添加指令代价信息提高自动向量化的适配能力,从而形成一套面向国产平台的LLVM自动向量化系统。实验结果表明,相比自动向量化移植前,通过该方法进行移植优化后,SPEC测试的整体性能提升10.8%,TSVC测试集中的加速比提升16%,精准代价指导下的加速比提升42%,控制流向量化下的加速比提升51%。  相似文献   

2.
李朋远  赵荣彩  高伟  张庆花 《计算机科学》2015,42(5):194-199, 203
随着SIMD扩展部件的迅速发展,自动向量化工具已逐渐成熟.现阶段的工具能对连续访存程序进行较好的处理,然而,大部分非连续访存的多媒体程序并不能被转换为高效的向量化代码.提出并实现了一种支持跨幅访存的向量化代码生成方法,其利用目标系统已有的基本数据处理指令实现多个向量间的任意重组来解决含有非连续访存语句的向量化代码生成问题.经过实验分析和验证,提出的代码生成方法能够将含有跨幅访存的语句转化为面向目标系统的高效向量化代码,以提高程序执行效率.  相似文献   

3.
大规模SIMD体系结构提供了更强的向量并行硬件支持,但是,大量迭代次数不足的循环由于不能提供足够的并行性,难以用等价的向量方式实现。为了更有效地利用SIMD,提出了一种非满载地使用SIMD指令的向量化方法。研究了向量寄存器的使用方式,基于非满载的向量寄存器使用方式实现了非满载的向量操作和短循环的向量化,并将非满载的向量化方法用于一般循环的向量化。提供了收益分析方法来为本向量化方法作精确指导。实验结果表明了该方法的有效性,所选测试用例的目标循环被向量化,平均加速比达到1.2。  相似文献   

4.
BWDSP是一款针对高性能计算领域设计的处理器,采用多簇超长指令字(VLIW)体系结构和SIMD架构,同时也提供了很多向量化指令.然而现有的编译框架无法对这些向量化指令提供支持,因此本文提出了一种向量化优化算法,可以显著提高一些在DSP领域有着广泛应用的计算密集型程序的性能.最终实验结果表明,该优化算法能够平均取得6.60倍的加速比.  相似文献   

5.
Intel,AMD和IBM都具有针对自身特点的向量扩展库。相比于传统的标量计算,向量化技术带来的加速比较高。为此,针对申威26010处理器开发向量数学库软件。在分析函数常用级数法和迭代法算法的基础上,结合三角函数、反三角函数、指数函数和对数函数研究一种高效向量化算法,并对其进行实现与优化,使其支持函数高精度和高性能计算,并且满足浮点运算的要求。测试结果表明,该算法精度达到申威26010处理器上特定应用的要求,与Intel VML数学库相比,各函数的平均加速比均达到1.1以上。  相似文献   

6.
自动向量化编译是利用处理器的多媒体扩展指令集提升多媒体程序性能的理想工具.但目前的研究不能有效加速实际程序.其主要原因是:普通算术操作的向量化不一定有性能提升;而多媒体典型操作因为其在源代码中表现形式多样而不能充分向量化.为了解决这一问题,文章对经典向量化算法进行改进以灵活统一地向量化这两类操作.主要的改进是增加了两个步骤:统一操作的不同表现形式和识别有价值的向量化操作.改进后的算法可以充分利用指令集生成高效代码,从而对实际多媒体程序拥有良好效果.此外,该算法可扩展性也很强.  相似文献   

7.
研究国产CPU龙芯3B的体系结构,分析三对角线性方程组求解中的循环规约算法,并结合算法特性,提出循环规约算法的优化方案。采用向量化级数,利用龙芯3B处理器提供的向量扩展指令对该算法在龙芯3B上进行实现和优化。实验结果表明,与非向量化算法相比,向量化算法的性能提升较大。  相似文献   

8.
随着向量长度的不断增长, SIMD扩展部件得以处理更为庞大的数据级并行, 但程序的并行阈值也随之提高. 对于现有的自动向量化编译器, 如果在分析阶段不能从串行代码中发掘出足够的数据级并行以完全填充向量寄存器, 则不会进入相应的向量代码变换阶段, 从而无法向量化. 较长的向量长度使得某些并行性不足的程序失去了向量化的机会, 造成了性能下降. 为了更加充分的利用SIMD部件, 介绍了一种面向基本块的非满载向量化方法ISLP. 基于开源GCC编译器, 从并行性检测、代码生成和代价模型3个方面详细阐述了ISLP的设计与实现. 在标准测试集上的实验结果表明, 该方法可以有效地对超字级并行性不足的程序进行向量化处理, 提高程序执行效率. 选取的测试用例在向量化后的平均加速比达到1.14, 性能较常规SLP方法提升11.8%.  相似文献   

9.
SIMD扩展部件是近年来集成到通用处理器中的加速部件,旨在发掘多媒体和科学计算等程序的数据级并行.控制依赖给发掘程序中的数据级并行带来了阻碍,当前不论基于loop-based还是SLP的控制流向量化方法都需要if转换,而没有考虑循环内蕴含的向量并行度,导致生成的向量代码效率较低.此外不精确的代价模型指导控制流向量化,同样导致生成的向量代码效率较低.为此提出了改进的控制流SIMD向量化方法,首先提出了含有控制依赖的循环分布算法,分离循环的可向量化部分和不可向量化部分,同时考虑分布时数据的局部性;其次提出了一种直接向量化控制流的方法,该方法考虑了基本块间的向量重用;最后利用精确的代价模型指导超字选择指令和超字条件分支指令的生成.实验结果表明,与现有的控制流向量化方法相比,本文提出的改进方法生成的向量代码性能提高24%.  相似文献   

10.
刘鹏  赵荣彩  赵博  高伟 《计算机科学》2014,41(9):28-31,44
随着多媒体应用的普及和高性能计算的需求,越来越多的处理器集成了SIMD扩展。为了针对不同SIMD扩展部件自动生成高效的向量化代码,设计了一套虚拟向量指令集,在此基础上构建了一种面向SIMD扩展部件的向量化统一架构。将输入程序通过向量识别等阶段转变为虚拟向量指令的中间表示,而后通过向量长度解虚拟化和指令集解虚拟化,将其转变为特定SIMD部件的向量指令集。在申威1600、DSP和Alpha上的实验结果表明:统一架构能够针对3种平台自动变换出高效的向量化代码,在DSP上的加速比要明显优于其它两种平台。  相似文献   

11.
由新型非易失存储介质构成的持久性内存(persistent memory,PM)具有扩展性强、按字节访问与静态能耗低等特性,为未来主存与辅存融合提供了强大的契机.然而由于LLC(last level cache)具有易失性且与主存交互粒度通常为64B,而PM的原子持久化操作粒度为8B.因此,数据从LLC更新到PM的过程中,若发生故障,则可能破坏更新操作的失败原子性,进而影响原始数据的完整性.为了保证更新操作的失败原子性,目前研究主要采用显式调用持久化指令与内存屏障指令,将数据有序地持久化到PM上,但该操作会造成显著的开销,在索引更新中尤为明显.在对索引进行更新时,往往会涉及到索引结构的变化,该变化需要大量的有序持久化开销.研究旨在减少基于PM的B+树在更新过程中为保证失败原子性而引入的持久化开销.通过分析B+树节点利用率、不同更新模式下持久化开销以及更新操作之间的关系,提出了一种基于节点内数据真实分布的数据单向移动算法.通过原地删除的方式,减少删除带来的持久化开销.利用删除操作在节点内留下的空位,减少后续插入操作造成的数据移动,进而减少数据持久化开销.基于上述算法,对B+树的重均衡操作进行优化.最后通过实验证明,相较于最新基于PM的B+树,提出的单向移动B+树能够显著提高单一负载与混合负载性能.  相似文献   

12.
通过分簇结构实现向量化执行是一种高效而灵活的体系结构选择.在编译中间表示里,向量指令与标量指令交叠出现.分簇结构向量化实现的特殊方式给传统的寄存器分配框架带来了挑战.针对该问题,本文从向量指令的表示形式、Callee/Caller寄存器划分、向量寄存器分配等进行研究,并给出全局与局部向量寄存器的分配方法.  相似文献   

13.
14.
Feature extraction is an important component of a pattern recognition system. It performs two tasks: transforming input parameter vector into a feature vector and/or reducing its dimensionality. A well-defined feature extraction algorithm makes the classification process more effective and efficient. Two popular methods for feature extraction are linear discriminant analysis (LDA) and principal component analysis (PCA). In this paper, the minimum classification error (MCE) training algorithm (which was originally proposed for optimizing classifiers) is investigated for feature extraction. A generalized MCE (GMCE) training algorithm is proposed to mend the shortcomings of the MCE training algorithm. LDA, PCA, and MCE and GMCE algorithms extract features through linear transformation. Support vector machine (SVM) is a recently developed pattern classification algorithm, which uses non-linear kernel functions to achieve non-linear decision boundaries in the parametric space. In this paper, SVM is also investigated and compared to linear feature extraction algorithms.  相似文献   

15.
以线性等距无线传感器阵列为例,提出一种有效的到达方向检测算法.列堆栈两个平移不变子阵的相关矩阵,给出一种奇异值分解和特征值分解相结合的两步算法,估计传感器阵列的导向矢量矩阵,通过分析导向矢量矩阵的结构化信息,构造估计导向矢量和理想导向矢量的相关函数,进而求解相关函数的驻点,搜索有限个驻点中使相关函数最大的驻点对应的角度估计到达方向,避免了穷尽搜索.仿真结果表明:所提算法在相同信噪比下分辨成功率高于著名的ESPRIT算法、同一分辨成功率下要求的信噪比更低.在信噪比、快拍数、阵元个数变化下对目标定位的均方根误差均优于ESPRIT算法,更接近于理论最优值.  相似文献   

16.
In recent years, the conversion of residue numbers to a binary integer has been intensively studied. The Chinese Remainder Theorem (CRT) is a solution to this conversion problem of a number to the Residue Number System with a general moduli set. This paper presents a new division-free conversion approach for the conversion of residue numbers to a binary integer. The algorithm differs from others employing a great number of division instructions by using shift instructions instead. These simple instructions keep the power consumption lower. This algorithm can also be implemented with a lookup table or upon a vector machine. Both make the conversion process efficient. This division-free algorithm employs the concept of Montgomery multiplication algorithm. There are two variations of Montgomery algorithm proposed, which are algorithms MMA and IMA. The algorithm MMA is to transform the input number into the output presentation of Montgomery algorithm. Algorithm IMA is therefore inverse the computation of Montgomery algorithm to obtain the multiplicand. These two algorithms are in the complexity of O(n), where n is log2 qi. qi is a modulus. The proposed algorithm for converting the residues to a binary integer therefore runs on O(n × log m) times on O(m) processors. There are O(log m) iterations of O(n) complexity. Compared with the traditional conversion algorithm, the advantages of this proposed algorithm are not only in employing simpler operations but also in performing fewer iterations.  相似文献   

17.
18.
一种基于空间层交分解的Hilbert码生成算法   总被引:4,自引:0,他引:4       下载免费PDF全文
基于Hilbert空间填充曲线的Hilbert空间排列码是一种优秀的线性映射方法,故在空间查询与索引中得到广泛应用,传统的Hilbert排列码算法是基于Morton码上的二进制位操作,复杂度为O(n^2),在Hilbert空间填充曲线的空间层次发分解特征的基础上,提出了一种新的Hilbert排列码生成算法,即通过栅格空间层交分解与构造区域状态转移向量,以递归的方式来生成Hilbert码,其复杂度为O(n),较之传统算法显著地提高了效率,在此基础上,结果点特征空间区域查询方法,又进一步阐述了以Hilbert空间排玛码作为地址码的二叉平衡排序树空间索引方法的应用特点,并结合实例进行了讨论。  相似文献   

19.
For 2D vector maps, obtaining good tamper localization performance and original content recovery with existing reversible fragile watermarking schemes is a technically challenging problem. Using an improved reversible watermarking method and a fragile watermarking algorithm based on vertex insertion, we propose a reversible fragile watermarking scheme that detects and locates tampered blocks with high accuracy while ensuring recovery of the original content. In particular, we propose dividing the features of the vector map into different blocks, calculating the block authentication watermarks and embedding the watermarks with different watermarking schemes. While the block division ensures superior accuracy of tamper localization, the reversible watermarking method and the fragile watermarking algorithm based on vertex insertion provide recovery of the original content. Experimental results show that the proposed scheme could detect and locate malicious attacks such as vertex/feature modification, vertex/feature addition, and vertex/feature deletion.  相似文献   

20.
This paper proposes and implements a novel hybrid level set method which combines the numerical efficiency of the local level set approach with the temporal stability afforded by a semi-implicit technique. By introducing an extraction/insertion algorithm into the local level set approach, we can accurately capture complicated behaviors such as interface separation and coalescence. This technique solves a well known problem when treating a semi-implicit system with spectral methods, where spurious interface movements emerge when two interfaces are close to each other. Numerical experiments show that the proposed method is stable, efficient and scales up well into three dimensional problems.  相似文献   

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

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