国家科技重大专项(2009ZX01036)
- 作品数:15 被引量:32H指数:4
- 相关作者:赵荣彩高伟魏帅姚远李朋远更多>>
- 相关机构:解放军信息工程大学河南广播电视大学中国人民解放军防空兵指挥学院更多>>
- 发文基金:国家科技重大专项国家高技术研究发展计划河南省科技攻关计划更多>>
- 相关领域:自动化与计算机技术机械工程金属学及工艺更多>>
- 复合数据类型的SIMD优化技术研究
- 复合数据类型的访存操作多为非连续或非对齐访问,难以进行SIMD向量化。论文提出针对复合数据类型非连续和非对齐访问的SIMD优化技术,它可以更容易地对多媒体程序和科学计算程序进行SIMD向量化,并且可以减少非对齐访问,提升...
- 杨明姚远
- 关键词:SIMD
- 文献传递
- 基于抽象解释的二进制代码变量区间分析被引量:1
- 2013年
- 在二进制代码分析中,传统的区间分析方法难以有效获得变量的取值范围。针对二进制代码变量特点,基于抽象解释理论,该文提出字级数据区间和位级数据区间的概念,分别对数值型数据变量和位级数据变量进行抽象表示;将抽象区间用于二进制代码变量运算,构建字级数据区间和位级数据区间的运算方法;引入区间集的概念,确立字级数据区间和位级数据区间的转换关系,提出字级数据区间和位级数据区间的相互转换算法。实验结果表明,该文提出的基于抽象解释的二进制代码变量区间分析方法能够精确高效地确定二进制代码变量的取值范围。
- 高洪博李清宝王炜谢晓东朱瑜
- 关键词:二进制代码代码分析区间分析
- 基于SIFT特征与多层BP神经网络的钢板缺陷检测算法被引量:5
- 2017年
- 为了解决当前钢板表面缺陷在对比度弱、边缘复杂和光照不均干扰下易导致检测能力较低的问题,文章提出了基于SIFT特征与多层BP神经网络的钢板缺陷检测算法。首先,引入高斯差分和Hessian矩阵,对钢板图像进行空间尺度函数计算,统计SIFT深度向量特征,完成缺陷特征的检测与收集。然后,基于神经网络原始模型,计算其第五层输出结果,优化缺陷检测结果,并最小化输出层与期望值的差异平方,滤除伪SIFT特征的干扰,建立多层BP神经网络拓扑分析算子,准确识别钢板缺陷。最后,基于软件工程,设计检测系统软件,对文中算法的缺陷检测精度进行测试。实验测试结果显示:与当前主流钢板缺陷检测技术相比,文中算法拥有更高的准确性与鲁棒性。
- 朱晓珺韩林邹香玲
- 关键词:SIFT特征BP神经网络
- 向量并行度指导的循环SIMD向量化方法被引量:5
- 2017年
- SIMD扩展部件是集成到通用处理器中的加速部件,旨在发掘多媒体和科学计算等领域程序的数据级并行.当前,两种基本的向量发掘方法分别是发掘迭代间并行的Loop-based方法和发掘迭代内并行的SLP方法.Loopaware方法是对SLP方法的改进,其思想是:首先,通过循环展开将迭代间并行转换为迭代内并行,使循环体内的同构语句条数足够多;再利用SLP方法进行向量发掘.但当循环展开不合法或者并行度低于向量化因子时,Loop-aware方法无法实现程序向量并行性的发掘.因此提出了向量并行度指导的循环向量化方法,依据迭代间并行度、迭代内并行度和向量化因子构建循环向量化方法选择方案,同时提出了不充分向量化方法发掘并行度低于向量化因子的循环向量并行性,最后,依据向量并行度对生成的向量循环进行展开.经过标准测试集测试,向量并行度指导的循环SIMD向量化方法比Loop-aware方法的识别率提升了107.5%,性能提升了12.1%.
- 高伟韩林赵荣彩徐金龙陈超然
- 基于Open64的Fortran90程序源源翻译
- 2013年
- 源源翻译是一种很有用的编译基础设施,它将高级语言程序转换为语义等价的可再编译的高级语言程序。目前Open64最新版本5.0中的Fortran90源源翻译还不是很完善,其中有两个突出问题:一是不支持动态数组的翻译;二是含有复杂数据结构的程序激进优化后,中间表示出现伪寄存器,源源翻译出错。在研究Open64的翻译流程和中间表示后,应用信息保存的翻译机制解决了动态数组的源源翻译问题和因为中间表示含有伪寄存器而造成的源源翻译错误的问题。测试结果表明,该方法增强了Open64的源源翻译处理能力。
- 高伟赵荣彩姚远魏帅
- 关键词:动态数组FORTRAN90
- 一种支持跨幅访存的向量化代码生成方法
- 2015年
- 随着SIMD扩展部件的迅速发展,自动向量化工具已逐渐成熟。现阶段的工具能对连续访存程序进行较好的处理,然而,大部分非连续访存的多媒体程序并不能被转换为高效的向量化代码。提出并实现了一种支持跨幅访存的向量化代码生成方法,其利用目标系统已有的基本数据处理指令实现多个向量间的任意重组来解决含有非连续访存语句的向量化代码生成问题。经过实验分析和验证,提出的代码生成方法能够将含有跨幅访存的语句转化为面向目标系统的高效向量化代码,以提高程序执行效率。
- 李朋远赵荣彩高伟高伟
- 关键词:代码生成向量化数据重组
- 面向SLP的多重循环向量化被引量:13
- 2012年
- 如今,越来越多的处理器集成了SIMD(single instruction multiple data)扩展,现有的编译器大多也实现了自动向量化的功能,但是一般都只针对最内层循环进行向量化,对于多重循环缺少一种通用、易行的向量化方法.为此,提出了一种面向SLP(superword level parallelism)的多重循环向量化方法,从外至内依次对各个循环层次进行分析,收集各层循环对应的一些影响向量化效果的属性值,主要包括能否对该循环进行直接循环展开和压紧、有多少数组引用相对于该循环索引连续以及该循环所包含的区域等,然后根据这些属性值决定在哪些循环层次进行直接循环展开和压紧,最后通过SLP对循环中的语句进行向量化.实验结果表明,该算法相对于内层循环向量化和简单的外层循环向量化平均加速比提升了2.13和1.41,对于一些常用的核心循环可以得到高达5.3的加速比.
- 魏帅赵荣彩姚远
- 关键词:SIMD向量化
- 一种面向向量化的动态指针别名分析框架被引量:4
- 2015年
- 指针别名分析是数据流分析中的关键性技术,其分析结果是编译优化和程序变换的基础。在向量化方法和动态指针别名分析相关研究的基础上,设计了一种面向向量化的动态指针别名分析框架。该框架通过动态插桩和试运行提取指针别名信息,并反馈到向量化阶段指导向量化代码生成。从提取候选别名分析集、插桩及试运行和反馈优化3个方面对整体框架进行分析和研究。该框架基于Open64实现,并以通用测试集GCC-VECT和典型应用进行了实验评估,结果表明,该框架相比静态指针别名分析具有更精确的别名分析结果,该结果能够有效改进向量化程序的加速比。
- 刘鹏赵荣彩李朋远
- 关键词:向量化
- 面向自动向量化的结构体优化被引量:2
- 2016年
- 结构体广泛应用在科学计算等应用程序中,向量化结构体数组存在的非连续和非对齐访存会严重影响程序的向量化效果。为减少结构体数组SIMD向量化过程中的非连续和非对齐数据访问,提出了基于域访问亲和度与域数据类型相结合的结构体拆分模型,以消除域存储间的内存"间隙";同时利用结构体数组到二维数组的地址映射方式来满足结构体数组向量化时的访存连续和对齐要求,以降低Cache的失效率,从而提升应用程序性能。在自动向量化系统SW-VEC上,选取gcc-vec、spec2000和spec2006标准测试集中部分相关的测试用例,测试结果表明:与相应的串行程序相比,采用该方法后,测试用例程序性能加速比提高了8%以上。
- 于海宁韩林李鹏远
- 关键词:地址映射
- Open64源源翻译流程研究被引量:2
- 2013年
- 源源翻译是一种有用的编译基础设施,它将高级语言程序转换为语义等价的可再编译的高级语言程序。越来越多的编译器包含源源翻译模块。和其它模块相比,Open64源源翻译模块还不够健壮。为了更好地解决源源翻译过程中出现的问题,首先研究了Open64的中间表示whirl,然后研究了Open64的源源翻译流程,最后通过测试说明源源翻译的重要性。
- 高伟李骁赵博