自动向量化论文-王琦

自动向量化论文-王琦

导读:本文包含了自动向量化论文开题报告文献综述及选题提纲参考文献,主要关键词:SIMD向量化,非规则应用,数据局部性,代价模型

自动向量化论文文献综述

王琦[1](2018)在《面向非规则应用的SIMD自动向量化编译技术研究》一文中研究指出SIMD扩展部件是一种广泛存在于主流处理器芯片中的向量加速器件,是构建当代计算机系统的重要组成,能有效提升各种应用的处理效能。自动向量化编译作为一种构造向量程序的主要手段,已得到广泛的研究并在各种主流编译系统中予以实现。然而,当前自动向量化编译仅能处理规则访存模式的应用,对含有复杂非规则访存模式的各种新型应用,尚缺乏有效的处理能力。针对自动向量化编译面临的挑战,本文依循自动向量化的向量挖掘、优化与代码生成过程,开展面向非规则应用的自动向量化编译优化技术研究,对非规则应用的向量化挖掘、访存优化以及非规则数据访问的向量指令生成深入研究,主要工作和贡献如下:(1)非规则应用的向量化挖掘。现有编译器的自动向量化能够对规则应用给出精准的数据分析,从而指导程序进行向量代码的转换。非规则应用中同样蕴含着向量并行执行的机会,但由于其访存不连续或者依赖于输入数据,使得编译器在编译阶段无法建立准确的数据引用关系,因而放弃其向量化的机会。因此本文以Inspector/Executor模型为基础,提出基于Inspector的非规则数据访存模式识别,在计算之前对非规则应用的访存模式进行预分析,并且针对不规则规约操作存在向量写冲突的问题,提出非规则数据的向量打包策略,将不同的迭代打包成向量,解决非规则应用的向量挖掘的问题。(2)非规则应用的访存优化技术研究。非规则应用中,访存不连续性和随机性使得程序数据局部性较差,访存效率较低。因此为了提高非规则应用的访存效率,本文提出分层分块算法,提高数据局部性。其次提出基于访存记录的数据预取算法,以隐藏内存访问的延迟。最后提出基于最大匹配度的向量寄存器重用,以减少程序访存次数,提升程序执行效率。(3)非规则数据访问的向量指令生成。SIMD扩展指令可以将内存中连续的数据一次性的加载到向量寄存器中。但是对于非规则应用的数据访问随机性,可能使向量包内同构语句的数量小于向量化因子,并且一次向量加载指令不能将非规则数据加载到向量寄存器中去,所以需要对向量寄存器的部分使用以及非规则数据访问的向量代码生成展开研究。因此本文提出不充分向量化以及非规则向量访存的实现方案。最后提出代价模型的计算,以选择最优方案对程序进行向量变换。为验证本文提出方法的正确性和有效性,以GCC5.3.0编译器为基础实现了本文提出的算法。通过对选择的程序进行测试,本文的研究能提升SIMD扩展部件的加速效能,对于编译系统的研制以及应用程序的优化存在一定的指导意义。(本文来源于《战略支援部队信息工程大学》期刊2018-04-15)

贺婷[2](2017)在《面向矢量信号处理的自动向量化算法研究》一文中研究指出为满足无线通信对实时性、低功耗的要求,信号处理器多采用SIMD(single instruction multiple data,单指令多数据)架构以加速对程序的处理。本文依托动芯矢量DSP(Digital Signal Processor,数字信号处理器),在LLVM(Low Level Virtual Machine,低级虚拟机)编译框架下改进并实现面向基本块的自动向量化算法,全文研究内容如下:1.深入研究LLVM中以基本块为单位的传统自动向量化算法,并分析该算法目前影响向量化效果的原因。2.通过分析自动向量化算法,发现基本块内部指令数目较少以致于向量化挖掘困难,因此本文通过调研行业现状采用循环正规化方法扩展基本块内指令数目,加大并行指令挖掘范围。3.自动向量化中的大规模并行指令对选取算法依赖于生成有向无环图和使用深度因子修剪有向无环图中冲突节点的方法实现,因此深度因子的好坏直接决定向量化优化效果。目前在依赖关系较为复杂的条件下原算法的深度因子已不能满足最初设计需求,易造成修剪枝时的误判,最终影响程序的向量化效率。本文从以下叁点优化原算法:1)改进静态深度因子,获取更加正确的先验信息以修剪枝,从而提高优化指令数。2)构建动态深度因子,使得修剪枝时获取的指令链更长。3)使用深度因子改进子树的构造顺序,合理利用深度因子对优化潜在性的表达,使得深度因子大的子树先生成,降低子树生成的随机性,最终提高程序优化效率。4.研究广度因子替代深度因子的自动向量化方法,并在LLVM平台上实现该算法,实验结果表明在寄存器压力和复杂度的影响下,该方法运行时间过长,限制了它的应用。最后,在LLVM编译架构下实现改进的自动向量化算法,并使用行业通用测试例进行验证,实验结果表明改进的自动向量化算法主要从两个方面影响向量化效果:1)并行指令数的提升。2)在生成相同数目向量指令的条件下,产生更少的额外开销。(本文来源于《重庆邮电大学》期刊2017-06-09)

吕鹏伟,刘从新,赵一明,沈绪榜[3](2017)在《基于动态规划的自动向量化方法》一文中研究指出由于SLP自动向量化算法使用的启发式策略会丢失一定的向量化机会,本文提出一种基于动态规划的自动向量化方法DPSLP,该方法采用比SLP更加激进的策略在基本块内寻找候选的SIMD指令分组,依据动态规划方程计算指令分组的代价并从众多指令分组中选择最优的分组进行向量化转换.实验结果显示,DPSLP与SLP相比测试程序的运行时间平均减少了8%,静态指令代价平均减少10%,平均向量宽度增加66.4%.(本文来源于《北京理工大学学报》期刊2017年05期)

贺婷[4](2016)在《基于数据级自动向量化的编译优化研究综述》一文中研究指出SIMD扩展部件是一种在多媒体程序和科学计算程序中提供指令并行的加速部件。本文首先介绍SIMD扩展部件的背景及行业现状,然后从挖掘方法、指针别名这2个角度介绍了SIMD现阶段发展情况,在此基础上并对SIMD编译优化方向进行了展望。(本文来源于《智能计算机与应用》期刊2016年06期)

吕鹏伟,刘从新,沈绪榜[5](2016)在《一种新型自动向量化编译算法》一文中研究指出SIMD(single instruction multiple data)体系结构在高性能计算与嵌入式多媒体计算中扮演着重要的角色,对于SIMD指令的自动向量化编译技术是当前编译领域的研究热点.本文基于超字并行(super-word level parallelism,SLP)算法提出了一种新的自动向量化算法GSLP(global super-word level parallelism),该算法分为两部分:语句分组和语句调度.语句分组从全局出发分析超字复用信息,在语句分组的过程中,充分挖掘基本块的直接或者间接的超字复用信息,提高基本块内语句并行操作的机会;语句调度对基本块内的所有语句进行调度并调整超字内部单字(Single-word)数据的组织顺序,使生成的代码中打包/解包(pack/unpack)操作的数量降到最低.使用16个测试程序对GSLP算法进行测试,试验结果表明该算法使打包/解包操作的数量平均减少了41.6%,与SLP算法所产生的加速相比平均提高了4.7%.(本文来源于《武汉大学学报(理学版)》期刊2016年05期)

陈勇,徐超[6](2016)在《基于符号执行和人机交互的自动向量化方法》一文中研究指出自动向量化技术是一种针对单指令多数据(SIMD)向量化计算单元的并行编译优化技术,它能够自动将源程序中多个相同标量操作合并为一个向量操作,从而提升系统吞吐量。随着SIMD向量化计算单元的广泛应用,自动向量化技术已经成为学术界和商业界的研究热点。针对现有自动向量化技术可向量化模块识别难、向量化优化方案选择难、可移植性差等问题,提出了一种基于符号执行和人机交互的自动向量化方法。首先借助于符号执行技术,获得较好的可移植性和较高的可向量化模块识别率;然后利用人机交互技术选择出理想的向量化方案。应用示例及实验结果表明,该方法具有较好的可操作性,能够有效提升自动向量化技术的优化效果和可移植性。(本文来源于《计算机科学》期刊2016年S1期)

于海宁,韩林,李鹏远[7](2016)在《面向自动向量化的结构体优化》一文中研究指出结构体广泛应用在科学计算等应用程序中,向量化结构体数组存在的非连续和非对齐访存会严重影响程序的向量化效果。为减少结构体数组SIMD向量化过程中的非连续和非对齐数据访问,提出了基于域访问亲和度与域数据类型相结合的结构体拆分模型,以消除域存储间的内存"间隙";同时利用结构体数组到二维数组的地址映射方式来满足结构体数组向量化时的访存连续和对齐要求,以降低Cache的失效率,从而提升应用程序性能。在自动向量化系统SW-VEC上,选取gcc-vec、spec2000和spec2006标准测试集中部分相关的测试用例,测试结果表明:与相应的串行程序相比,采用该方法后,测试用例程序性能加速比提高了8%以上。(本文来源于《计算机科学》期刊2016年02期)

夏睿杰[8](2015)在《基于FT-Matrix2的自动向量化关键技术研究与实现》一文中研究指出FT-Matrix2 DSP是国防科技大学微电子所自主研发的一款面向图像处理、视频和无线通信的高性能DSP。其采用向量和多发射超长指令字体系结构。其中,SIMD指令在FT-Matrix2指令集中的数量占比达到了近50%,而这些指令是芯片整体性能得到提升的关键。因此,FT-Matrix2编译器中SIMD向量化能力直接影响着芯片的运行效率。本文基于GCC平台研究并实现了FT-Matrix2编译器的自动向量化技术。本文根据FT-Matrix2体系结构特征,通过添加FT-Matrix2向量后端支持以及在自动向量化过程中增加DMA自动传输实现向量访存等技术,使得FT-Matrix2编译器能够尽量挖掘用户C程序的自动向量化部分,从而提高芯片的运行效率。本文的主要工作包括以下几个方面:(1)对GCC的编译结构、自动向量化框架进行了深入的分析。首先熟悉了GCC的结构框架,然后定位了自动向量化优化在GCC内部的位置,最后分析了自动向量化的的结构框架。通过对上述问题的深入分析,确定了基于GCC平台实现FT-Matrix2的向量化方法和步骤。(2)基于FT-Matrix2体系结构和指令集,在GCC中实现了SIMD指令自动向量化映射。其主要工作包括:添加向量寄存器描述,向量数据机器模式,向量指令描述,汇编输出等。(3)基于FT-Matrix2的自动向量化访存实现。基于FT-Matrix2体系结构向量访存的特点,在GCC中实现了基于DMA的自动数据传输功能,使得编译器能够根据向量程序要求自动生成向量数据搬移代码,实现了FT-Matrix2自动向量化的向量访存。(4)基于本文的研究工作,对DSP常用算法FFT进行了自动向量化实现,测试结果表明:基于FT-Matrix2 Compiler的自动向量化较-O2级优化非向量化性能有明显的提高,而较intrinsic方式向量化性能较低。(本文来源于《国防科学技术大学》期刊2015-04-01)

高伟,赵荣彩,韩林,庞建民,丁锐[9](2015)在《SIMD自动向量化编译优化概述》一文中研究指出SIMD扩展部件是集成到通用处理器中的加速部件,旨在发掘多媒体程序和科学计算程序的数据级并行.首先介绍SIMD扩展部件的背景和研究现状,然后从发掘方法、数据布局、多平台向量化这3个角度介绍了SIMD自动向量化的研究问题、困难和最新研究成果,最后展望了SIMD编译优化未来的研究方向.(本文来源于《软件学报》期刊2015年06期)

徐颖[10](2014)在《编译指导的自动向量化关键技术研究》一文中研究指出主流通用微处理器都已支持SIMD体系结构,面向SIMD的自动向量化是提高程序性能的重要手段。而在程序中手工加入指导命令,辅助编译器提升自动向量化能力的编译优化技术也已成为一个重要的发展趋势。本文研究编译指导的自动向量化技术。最新的OpenMP 4.0规范加入了面向SIMD体系结构的编译指导,目的在于直接指导循环的自动向量化。GCC作为广泛使用的开源编译器,适合研究各类编译优化技术的具体实现,2014年4月发布的GCC 4.9.0正式版已能识别OpenMP 4.0规范中定义的SIMD编译指导。本文首先研究OpenMP的SIMD编译指导。OpenMP应用编程接口是面向共享主存多处理机系统进行并行程序设计的事实标准,用户通过在程序中手工加入OpenMP编译指导,能实现程序的多线程并行。本文分析了SIMD编译指导的设计和使用方法,以及它在GCC 4.9.0中的实现情况,并分别测试了SIMD编译指导在ICC编译器和GCC编译器下对循环性能的影响。然后,本文研究紧嵌套循环与OpenMP规范中的collapse从句结合后的自动向量化效果。主要剖析了collapse从句如何影响紧嵌套循环在中间表示层的变化,之后对OpenMP叁种结构下的collapse从句对紧嵌套循环自动向量化效果的影响做实验测试,分析了其在GCC现有实现中的不足。最后,基于GCC编译器,重新设计了loop结构下collapse从句在OpenMP扩展遍中的实现。实验结果表明对GCC编译器的改进能使collapse从句下的循环成功向量化,并有性能提高。(本文来源于《国防科学技术大学》期刊2014-12-01)

自动向量化论文开题报告

(1)论文研究背景及目的

此处内容要求:

首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。

写法范例:

为满足无线通信对实时性、低功耗的要求,信号处理器多采用SIMD(single instruction multiple data,单指令多数据)架构以加速对程序的处理。本文依托动芯矢量DSP(Digital Signal Processor,数字信号处理器),在LLVM(Low Level Virtual Machine,低级虚拟机)编译框架下改进并实现面向基本块的自动向量化算法,全文研究内容如下:1.深入研究LLVM中以基本块为单位的传统自动向量化算法,并分析该算法目前影响向量化效果的原因。2.通过分析自动向量化算法,发现基本块内部指令数目较少以致于向量化挖掘困难,因此本文通过调研行业现状采用循环正规化方法扩展基本块内指令数目,加大并行指令挖掘范围。3.自动向量化中的大规模并行指令对选取算法依赖于生成有向无环图和使用深度因子修剪有向无环图中冲突节点的方法实现,因此深度因子的好坏直接决定向量化优化效果。目前在依赖关系较为复杂的条件下原算法的深度因子已不能满足最初设计需求,易造成修剪枝时的误判,最终影响程序的向量化效率。本文从以下叁点优化原算法:1)改进静态深度因子,获取更加正确的先验信息以修剪枝,从而提高优化指令数。2)构建动态深度因子,使得修剪枝时获取的指令链更长。3)使用深度因子改进子树的构造顺序,合理利用深度因子对优化潜在性的表达,使得深度因子大的子树先生成,降低子树生成的随机性,最终提高程序优化效率。4.研究广度因子替代深度因子的自动向量化方法,并在LLVM平台上实现该算法,实验结果表明在寄存器压力和复杂度的影响下,该方法运行时间过长,限制了它的应用。最后,在LLVM编译架构下实现改进的自动向量化算法,并使用行业通用测试例进行验证,实验结果表明改进的自动向量化算法主要从两个方面影响向量化效果:1)并行指令数的提升。2)在生成相同数目向量指令的条件下,产生更少的额外开销。

(2)本文研究方法

调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。

观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。

实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。

文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。

实证研究法:依据现有的科学理论和实践的需要提出设计。

定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。

定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。

跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。

功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。

模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。

自动向量化论文参考文献

[1].王琦.面向非规则应用的SIMD自动向量化编译技术研究[D].战略支援部队信息工程大学.2018

[2].贺婷.面向矢量信号处理的自动向量化算法研究[D].重庆邮电大学.2017

[3].吕鹏伟,刘从新,赵一明,沈绪榜.基于动态规划的自动向量化方法[J].北京理工大学学报.2017

[4].贺婷.基于数据级自动向量化的编译优化研究综述[J].智能计算机与应用.2016

[5].吕鹏伟,刘从新,沈绪榜.一种新型自动向量化编译算法[J].武汉大学学报(理学版).2016

[6].陈勇,徐超.基于符号执行和人机交互的自动向量化方法[J].计算机科学.2016

[7].于海宁,韩林,李鹏远.面向自动向量化的结构体优化[J].计算机科学.2016

[8].夏睿杰.基于FT-Matrix2的自动向量化关键技术研究与实现[D].国防科学技术大学.2015

[9].高伟,赵荣彩,韩林,庞建民,丁锐.SIMD自动向量化编译优化概述[J].软件学报.2015

[10].徐颖.编译指导的自动向量化关键技术研究[D].国防科学技术大学.2014

标签:;  ;  ;  ;  

自动向量化论文-王琦
下载Doc文档

猜你喜欢