期刊文献+
共找到23篇文章
< 1 2 >
每页显示 20 50 100
一种基于指令MKS的自动向量化代价模型
1
作者 王震 聂凯 韩林 《计算机科学》 CSCD 北大核心 2024年第4期78-85,共8页
自动向量化代价模型是编译器进行自动向量化优化时的重要组成部分,其作用是评估代码在应用向量化转换后能否获得性能提升。当代价模型不准确时,编译器会应用负收益的向量化转换,从而降低程序的执行效率。针对GCC编译器默认代价模型的不... 自动向量化代价模型是编译器进行自动向量化优化时的重要组成部分,其作用是评估代码在应用向量化转换后能否获得性能提升。当代价模型不准确时,编译器会应用负收益的向量化转换,从而降低程序的执行效率。针对GCC编译器默认代价模型的不精确问题,以Intel Xeon Silver 4214R CPU为平台,提出了一种基于指令MKS的自动向量化代价模型。该模型充分考虑了指令的机器模式、运算类型以及运算强度等,并使用梯度下降算法自动搜索不同指令类型的近似代价。在SPEC2006以及SPEC2017上进行了单线程测试,实验结果表明,该模型能够减少收益评估错误的情况。与默认代价模型生成的向量程序相比,GCC编译器添加MKS代价模型后,在SPEC2006课题上最高获得了4.72%的提速,在SPEC2017课题上最高获得了7.08%的提速。 展开更多
关键词 GCC编译器 自动向量化 代价模型 收益评估 梯度下降
下载PDF
SIMD自动向量化编译优化概述 被引量:30
2
作者 高伟 赵荣彩 +2 位作者 韩林 庞建民 丁锐 《软件学报》 EI CSCD 北大核心 2015年第6期1265-1284,共20页
SIMD扩展部件是集成到通用处理器中的加速部件,旨在发掘多媒体程序和科学计算程序的数据级并行.首先介绍SIMD扩展部件的背景和研究现状,然后从发掘方法、数据布局、多平台向量化这3个角度介绍了SIMD自动向量化的研究问题、困难和最新研... SIMD扩展部件是集成到通用处理器中的加速部件,旨在发掘多媒体程序和科学计算程序的数据级并行.首先介绍SIMD扩展部件的背景和研究现状,然后从发掘方法、数据布局、多平台向量化这3个角度介绍了SIMD自动向量化的研究问题、困难和最新研究成果,最后展望了SIMD编译优化未来的研究方向. 展开更多
关键词 SIMD扩展部件 自动向量化 数据级并行 编译优化
下载PDF
典型编译器自动向量化效果评估与分析 被引量:6
3
作者 李春江 黄娟娟 +2 位作者 徐颖 杜云飞 陈娟 《计算机科学》 CSCD 北大核心 2013年第4期41-46,共6页
SIMD(Single-Instruction-Multiple-Data)体系结构在现代处理器体系结构中扮演重要的角色。多种国产高性能通用处理器也大都实现了SIMD结构。SIMD体系结构提供了短向量数据并行处理能力,编译器自动向量化是应用程序获得性能提升的主要... SIMD(Single-Instruction-Multiple-Data)体系结构在现代处理器体系结构中扮演重要的角色。多种国产高性能通用处理器也大都实现了SIMD结构。SIMD体系结构提供了短向量数据并行处理能力,编译器自动向量化是应用程序获得性能提升的主要手段之一。使用成熟的支持SIMD的商用处理器平台评估典型编译器自动向量化的效果,对于处理器体系结构的设计以及编译器的分析和设计非常有益。采用SPECCPU2006和SPECOMPM2001基准测试程序,评估了典型编译器(包括Intel编译器、PGI编译器和GCC编译器)的自动向量化的效果。并且以产品级的开源编译器GCC为目标,用手工编写的程序片段(主要是多种类型的循环结构)评估了当前GCC编译器自动向量化的效果,并深入分析了GCC编译器中现有的自动向量化的能力和局限。此项工作为进一步研发高效的编译器自动向量化提供了有价值的参考。 展开更多
关键词 自动向量化 典型编译器 GCC 评估与分析
下载PDF
GCC编译器中编译指导的自动向量化实现 被引量:2
4
作者 徐颖 李春江 +1 位作者 董钰山 周思齐 《计算机科学》 CSCD 北大核心 2014年第B11期364-367,392,共5页
基于编译指导的自动向量化已经成为编译器开发SIMD体系结构性能潜力的必然选择。OpenMP 4.0规范新增了SIMD编译指导语句,在开发中的GCC 4.9版本已经开始着手支持OpenMP4.0规范。详细分析了SIMD编译指导在GCC 4.9中的实现情况,重点分析了... 基于编译指导的自动向量化已经成为编译器开发SIMD体系结构性能潜力的必然选择。OpenMP 4.0规范新增了SIMD编译指导语句,在开发中的GCC 4.9版本已经开始着手支持OpenMP4.0规范。详细分析了SIMD编译指导在GCC 4.9中的实现情况,重点分析了SIMD编译指导在编译器自动向量化阶段的影响,这为改进GCC的现有实现和提高向量化能力提供了有价值的参考。 展开更多
关键词 GCC SIMD 编译指导 自动向量化
下载PDF
基于动态规划的自动向量化方法 被引量:1
5
作者 吕鹏伟 刘从新 +1 位作者 赵一明 沈绪榜 《北京理工大学学报》 EI CAS CSCD 北大核心 2017年第5期544-550,共7页
由于SLP自动向量化算法使用的启发式策略会丢失一定的向量化机会,本文提出一种基于动态规划的自动向量化方法DPSLP,该方法采用比SLP更加激进的策略在基本块内寻找候选的SIMD指令分组,依据动态规划方程计算指令分组的代价并从众多指令分... 由于SLP自动向量化算法使用的启发式策略会丢失一定的向量化机会,本文提出一种基于动态规划的自动向量化方法DPSLP,该方法采用比SLP更加激进的策略在基本块内寻找候选的SIMD指令分组,依据动态规划方程计算指令分组的代价并从众多指令分组中选择最优的分组进行向量化转换.实验结果显示,DPSLP与SLP相比测试程序的运行时间平均减少了8%,静态指令代价平均减少10%,平均向量宽度增加66.4%. 展开更多
关键词 自动向量化 动态规划 指令代价
下载PDF
基于数据对齐属性指导的GCC自动向量化优化
6
作者 李春江 黄娟娟 +1 位作者 徐颖 董钰山 《计算机工程与科学》 CSCD 北大核心 2014年第6期1011-1017,共7页
主流通用处理器都已经实现了多核并行以及处理器核内的SIMD并行。虽然GCC编译器实现了面向SIMD并行的自动向量化,但是编译器针对OpenMP并行程序的自动向量化效果仍很不理想。针对多线程并行的OpenMP程序,基于GCC的OpenMP编译实现,扩展... 主流通用处理器都已经实现了多核并行以及处理器核内的SIMD并行。虽然GCC编译器实现了面向SIMD并行的自动向量化,但是编译器针对OpenMP并行程序的自动向量化效果仍很不理想。针对多线程并行的OpenMP程序,基于GCC的OpenMP编译实现,扩展了数据对齐属性指导语句,使编译器在自动向量化时能够进行更准确的数据对齐与否的判断,优化了GCC编译器的自动向量化。 展开更多
关键词 数据对齐属性 编译指导 自动向量化 GCC
下载PDF
基于符号执行和人机交互的自动向量化方法
7
作者 陈勇 徐超 《计算机科学》 CSCD 北大核心 2016年第S1期461-466 492,共7页
自动向量化技术是一种针对单指令多数据(SIMD)向量化计算单元的并行编译优化技术,它能够自动将源程序中多个相同标量操作合并为一个向量操作,从而提升系统吞吐量。随着SIMD向量化计算单元的广泛应用,自动向量化技术已经成为学术界和商... 自动向量化技术是一种针对单指令多数据(SIMD)向量化计算单元的并行编译优化技术,它能够自动将源程序中多个相同标量操作合并为一个向量操作,从而提升系统吞吐量。随着SIMD向量化计算单元的广泛应用,自动向量化技术已经成为学术界和商业界的研究热点。针对现有自动向量化技术可向量化模块识别难、向量化优化方案选择难、可移植性差等问题,提出了一种基于符号执行和人机交互的自动向量化方法。首先借助于符号执行技术,获得较好的可移植性和较高的可向量化模块识别率;然后利用人机交互技术选择出理想的向量化方案。应用示例及实验结果表明,该方法具有较好的可操作性,能够有效提升自动向量化技术的优化效果和可移植性。 展开更多
关键词 自动向量化 符号执行 人机交互 可移植性 单指令多数据
下载PDF
一种针对多媒体扩展指令集和实际多媒体程序的自动向量化方法 被引量:3
8
作者 姜伟华 梅超 +3 位作者 郭一 朱嘉华 臧斌宇 朱传琪 《计算机学报》 EI CSCD 北大核心 2005年第8期1255-1266,共12页
自动向量化编译是利用处理器的多媒体扩展指令集提升多媒体程序性能的理想工具.但目前的研究不能有效加速实际程序.其主要原因是:普通算术操作的向量化不一定有性能提升;而多媒体典型操作因为其在源代码中表现形式多样而不能充分向量化... 自动向量化编译是利用处理器的多媒体扩展指令集提升多媒体程序性能的理想工具.但目前的研究不能有效加速实际程序.其主要原因是:普通算术操作的向量化不一定有性能提升;而多媒体典型操作因为其在源代码中表现形式多样而不能充分向量化.为了解决这一问题,文章对经典向量化算法[1]进行改进以灵活统一地向量化这两类操作.主要的改进是增加了两个步骤:统一操作的不同表现形式和识别有价值的向量化操作.改进后的算法可以充分利用指令集生成高效代码,从而对实际多媒体程序拥有良好效果.此外,该算法可扩展性也很强. 展开更多
关键词 自动向量化编译技术 多媒体扩展指令集 多媒体典型操作
下载PDF
自动向量化:近期进展与展望 被引量:5
9
作者 冯竞舸 贺也平 陶秋铭 《通信学报》 EI CSCD 北大核心 2022年第3期180-195,共16页
随着单指令流多数据流(SIMD)技术的迅速发展,近年来许多面向SIMD扩展部件的自动向量化编译方法被提出,有效缓解了程序员手写向量程序的压力,并发挥了SIMD扩展部件的加速效能。基于此,分析总结了自动向量化领域近10年的研究成果,从保义... 随着单指令流多数据流(SIMD)技术的迅速发展,近年来许多面向SIMD扩展部件的自动向量化编译方法被提出,有效缓解了程序员手写向量程序的压力,并发挥了SIMD扩展部件的加速效能。基于此,分析总结了自动向量化领域近10年的研究成果,从保义分析和变换、向量化分组分析和变换、面向处理器支持特性的分析和变换以及性能评估分析这4个方面分类归纳了自动向量化的关键问题和主要突破,进而对4个方面的发展趋势和研究方向进行了展望。 展开更多
关键词 自动向量化 SIMD扩展 编译技术 数据级并行 性能优化
下载PDF
自动向量化中基于数据依赖分析的循环分布算法
10
作者 黄磊 姚远 +1 位作者 侯永生 杨明 《计算机科学》 CSCD 北大核心 2011年第9期288-293,共6页
循环分布是开发向量化程序的一个有效的方法。但是由于程序中的数据相关性,当前的自动向量化编译器实现完全的循环分布非常困难。因此,当前的自动向量化编译器一般采用简单的循环分布方法。以数据依赖关系分析为基础,从有无依赖环的角... 循环分布是开发向量化程序的一个有效的方法。但是由于程序中的数据相关性,当前的自动向量化编译器实现完全的循环分布非常困难。因此,当前的自动向量化编译器一般采用简单的循环分布方法。以数据依赖关系分析为基础,从有无依赖环的角度分析了程序中语句的向量化能力,提出了基于语句向量化识别的循环分布算法,并在自动向量化中加以实现。通过此方法,可以充分地分析语句或依赖环的向量化能力,最终采用循环分布,将可向量化的语句与不可向量化的语句分布在不同的循环中。该方法可以处理当前的自动向量化编译器无法向量化的循环,对一些语句间有依赖关系的循环可达到较好的效果。 展开更多
关键词 自动向量化 SIMD 依赖关系分析 循环分布
下载PDF
面向国产平台的LLVM自动向量化移植与优化 被引量:2
11
作者 李嘉楠 韩林 柴赟达 《计算机工程》 CAS CSCD 北大核心 2022年第1期142-148,共7页
作为SIMD扩展部件向量化的重要手段,自动向量化已在LLVM编译器中得到实现,但向量长度以及指令集功能的差异,导致国产平台在自动向量化过程中容易错失向量化机会以及向量化后产生倒加速的问题。为使SIMD得到充分应用,结合国产平台的指令... 作为SIMD扩展部件向量化的重要手段,自动向量化已在LLVM编译器中得到实现,但向量长度以及指令集功能的差异,导致国产平台在自动向量化过程中容易错失向量化机会以及向量化后产生倒加速的问题。为使SIMD得到充分应用,结合国产平台的指令集特征完善指令代价信息以提高收益分析精准度,使其在自动向量化后生成后端支持且简洁高效的向量指令。在此基础上,提出一种改进的控制流向量化方法,通过添加指令代价信息提高自动向量化的适配能力,从而形成一套面向国产平台的LLVM自动向量化系统。实验结果表明,相比自动向量化移植前,通过该方法进行移植优化后,SPEC测试的整体性能提升10.8%,TSVC测试集中的加速比提升16%,精准代价指导下的加速比提升42%,控制流向量化下的加速比提升51%。 展开更多
关键词 自动向量化 向量化收益 移植 LLVM编译器 国产平台
下载PDF
基于数据级自动向量化的编译优化研究综述 被引量:1
12
作者 贺婷 《智能计算机与应用》 2016年第6期68-71,共4页
SIMD扩展部件是一种在多媒体程序和科学计算程序中提供指令并行的加速部件。本文首先介绍SIMD扩展部件的背景及行业现状,然后从挖掘方法、指针别名这2个角度介绍了SIMD现阶段发展情况,在此基础上并对SIMD编译优化方向进行了展望。
关键词 SIMD 自动向量化 数据级并行
下载PDF
一种新型自动向量化编译算法
13
作者 吕鹏伟 刘从新 沈绪榜 《武汉大学学报(理学版)》 CAS CSCD 北大核心 2016年第5期456-463,共8页
SIMD(single instruction multiple data)体系结构在高性能计算与嵌入式多媒体计算中扮演着重要的角色,对于SIMD指令的自动向量化编译技术是当前编译领域的研究热点.本文基于超字并行(super-word level parallelism,SLP)算法提出了一种... 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%. 展开更多
关键词 SIMD指令 编译技术 自动向量化 超字并行 超字复用
原文传递
基于多种同构化变换的SLP向量化方法
14
作者 冯竞舸 贺也平 +1 位作者 陶秋铭 马恒太 《计算机研究与发展》 EI CSCD 北大核心 2023年第12期2907-2927,共21页
超字级并行(superword level parallelism,SLP)是一种面向处理器单指令多数据(single instruction multiple data,SIMD)扩展部件实现程序自动向量化的方法,这种方法被广泛应用于主流编译器中.SLP方法有赖于先找到同构指令序列再对之进... 超字级并行(superword level parallelism,SLP)是一种面向处理器单指令多数据(single instruction multiple data,SIMD)扩展部件实现程序自动向量化的方法,这种方法被广泛应用于主流编译器中.SLP方法有赖于先找到同构指令序列再对之进行自动向量化.将非同构指令序列等价转为同构指令序列以扩展SLP方法的适用范围是当前研究趋势之一.提出SLP的一种扩展方法──SLP-M向量化方法,引入二元表达式替换同构转换方式,基于条件判断和收益计算的选择,利用多种指令序列同构化转换,将满足特定条件的非同构指令序列转换为同构指令序列,再进一步实施自动向量化,从而提升SLP的适用范围和收益.在LLVM中实现了SLP-M方法,并利用SPEC CPU 2017等标准测试集进行了测试评估.实验结果表明,SLPM方法相比于已有方法在核心函数测试中性能提升了21.8%,在基准测试程序整体测试中性能提升了4.1%. 展开更多
关键词 SIMD扩展 自动向量化 超字级并行 非同构指令序列 同构化变换
下载PDF
基于编译指示的向量化方法 被引量:3
15
作者 姚远 赵荣彩 《计算机工程》 CAS CSCD 2012年第12期272-275,共4页
编译器由于程序分析能力不足,无法自动实现循环向量化或者会造成盲目自动向量化。为此,提出一种基于编译指示的向量化方法。通过在代码中插入向量化编译指示语句,指导自动向量化编译工具的处理过程,自动生成高效的向量化代码。测试结果... 编译器由于程序分析能力不足,无法自动实现循环向量化或者会造成盲目自动向量化。为此,提出一种基于编译指示的向量化方法。通过在代码中插入向量化编译指示语句,指导自动向量化编译工具的处理过程,自动生成高效的向量化代码。测试结果表明,该方法能够有效提高目标代码的运行性能。 展开更多
关键词 单指令多数据流 自动向量化 数据依赖关系 编译指示 循环不变量 向量寄存器
下载PDF
一种基于剪切的SLP向量化方法
16
作者 李颖颖 奚慧兴 +2 位作者 高伟 李伟 翟胜伟 《计算机应用研究》 CSCD 北大核心 2018年第9期2578-2582,共5页
作为多媒体和科学计算等领域重要的程序加速器件之一,SIMD扩展部件现已广泛集成于各类处理器中。自动向量化方法是目前生成SIMD向量化程序的重要手段。超字并行SLP(superword level parallelism)方法现已广泛应用于编译器中,并成为实现... 作为多媒体和科学计算等领域重要的程序加速器件之一,SIMD扩展部件现已广泛集成于各类处理器中。自动向量化方法是目前生成SIMD向量化程序的重要手段。超字并行SLP(superword level parallelism)方法现已广泛应用于编译器中,并成为实现基本块级代码向量化的主要手段。SLP在进行收益评估时仅考虑代码段整体向量化的收益,并没有考虑到向量化收益为负的片段会降低最终整体的向量化收益,从而导致SLP方法无法达到最好的向量化效果。基于此,提出了一种基于剪切的SLP向量化方法(throttling SLP,TSLP)。通过寻找最优的向量化子图,去除了向量化收益为负的代码段,从而可以获得更好的向量化效果。通过标准测试程序的实验结果表明,与原来的SLP方法相比,TSLP方法平均能够获得9%的性能提升。 展开更多
关键词 单指令多数据扩展部件 自动向量化 超字并行 代价模型
下载PDF
面向SIMD向量化的循环优化技术研究
17
作者 高伟 徐金龙 +1 位作者 孙回回 李敏 《信息工程大学学报》 2016年第4期496-503,共8页
随着SIMD扩展技术的不断发展,自动向量化逐步成为程序优化的重点。然而,大部分程序本身不能直接被向量化,需要通过循环变换来发掘潜在的并行性。首先以Open64中的循环变换为例概括介绍了传统的循环优化方式,然后从多面体表示、循环变换... 随着SIMD扩展技术的不断发展,自动向量化逐步成为程序优化的重点。然而,大部分程序本身不能直接被向量化,需要通过循环变换来发掘潜在的并行性。首先以Open64中的循环变换为例概括介绍了传统的循环优化方式,然后从多面体表示、循环变换建模方法和代价模型等3个方面具体介绍了多面体模型指导的循环变换技术,最后对两种循环优化方式的优缺点进行了对比分析。 展开更多
关键词 自动向量化 循环优化 多面体模型 代价模型
下载PDF
使用代价分析的向量化循环分割技术
18
作者 何越强 《计算机工程与设计》 CSCD 北大核心 2011年第6期2020-2023,共4页
为了使循环在编译过程中更充分地被向量化,提出了一种基于代价分析的向量化循环分割技术。标记出了迭代依赖间隔中不存在依赖关系的循环片段,在此基础上建立一个简单有效的代价分析模型来评估这些循环片段向量化和未向量化的CPU时钟周... 为了使循环在编译过程中更充分地被向量化,提出了一种基于代价分析的向量化循环分割技术。标记出了迭代依赖间隔中不存在依赖关系的循环片段,在此基础上建立一个简单有效的代价分析模型来评估这些循环片段向量化和未向量化的CPU时钟周期开销,最后从代价分析结果中确定是否需要将其向量化分割,从而把向量化特性应用到细短的循环片段。实验结果表明了该技术的有效性,对迭代依赖距离大的循环片段优化作用更明显。 展开更多
关键词 循环依赖 自动向量化 循环分割 依赖间隔 代价分析
下载PDF
龙芯3A多核处理器系统级性能优化与分析 被引量:12
19
作者 孟小甫 高翔 +1 位作者 从明 张爽爽 《计算机研究与发展》 EI CSCD 北大核心 2012年第S1期137-142,共6页
多核处理器的性能与系统软件有着密切的联系:操作系统是处理器与应用程序之间的接口,对于充分利用处理器特性和提高应用程序的性能起着极其重要的作用;编译器与处理器体系结构密切相关,一方面要产生处理器支持的二进制代码,另一方面还... 多核处理器的性能与系统软件有着密切的联系:操作系统是处理器与应用程序之间的接口,对于充分利用处理器特性和提高应用程序的性能起着极其重要的作用;编译器与处理器体系结构密切相关,一方面要产生处理器支持的二进制代码,另一方面还要结合处理器特性产生高效运行的代码,其性能好坏直接影响着系统的整体性能.为了提高龙芯3A系统的实际性能,从操作系统和编译器着手,结合龙芯3A微结构特征,进行了一系列有效的优化.这些措施包括CC-NUMA多核操作系统的实现、操作系统二级Cache锁机制、操作系统调度共享二级Cache分配、自动向量化编译和支持预取机制的编译等.实验结果表明,在系统软件中增加对处理器特性的支持,能够充分挖掘体系结构的优势,对系统性能有较大的好处.其性能优化技术对于其他处理器的优化也有一定的借鉴价值. 展开更多
关键词 龙芯3A 自动向量化 预取 锁Cache 性能分析
下载PDF
龙芯3B的SIMD编译优化及分析 被引量:9
20
作者 彭飞 顾乃杰 +1 位作者 高翔 孙明明 《小型微型计算机系统》 CSCD 北大核心 2012年第12期2733-2737,共5页
根据龙芯3B处理器特有的SIMD运算部件和指令集,在GCC编译器中实现了SIMD访存和SIMD运算的自动向量化.针对SIMD访存,给出了现有的访存方法,并详细介绍了适合龙芯3B的SIMD访存方法.对于不能自动向量化的其他SIMD运算,在GCC编译器中增加了B... 根据龙芯3B处理器特有的SIMD运算部件和指令集,在GCC编译器中实现了SIMD访存和SIMD运算的自动向量化.针对SIMD访存,给出了现有的访存方法,并详细介绍了适合龙芯3B的SIMD访存方法.对于不能自动向量化的其他SIMD运算,在GCC编译器中增加了Builtin函数的支持,用户可以根据标准函数接口调用SIMD运算函数,完成向量操作.通过对SPEC-CPU2000、DSPstone等大量benchmark的测试和分析,给出了龙芯3B SIMD运算的各项性能指数.对于性能表现不同的测试函数,均给出了详细分析数据和结论.测试表明,龙芯3B的SIMD运算在实际应用中有着良好的性能表现. 展开更多
关键词 编译优化 SIMD 自动向量化 Builtin 龙芯3B
下载PDF
上一页 1 2 下一页 到第
使用帮助 返回顶部