高伟
- 作品数:19 被引量:50H指数:4
- 供职机构:解放军信息工程大学更多>>
- 发文基金:国家科技重大专项国家重点实验室开放基金国家自然科学基金更多>>
- 相关领域:自动化与计算机技术天文地球更多>>
- 发掘函数级单指令多数据向量化的方法
- 2017年
- 当前面向单指令多数据(SIMD)扩展部件的两类向量化方法分别是循环级向量化方法和超字级并行(SLP)方法。针对当前编译器不能实现函数级向量化的问题,提出一种基于静态单赋值的函数级向量化方法。该方法首先分析程序的变量属性,然后利用一组包括向量函数子句、一致子句、线性子句等编译指示子句指导编译器实现函数级向量化,最后利用变量属性结果对向量化代码进行了优化。从多媒体和图像处理领域选择部分测试用例对所提的函数级向量化的功能和性能在国产申威平台上进行测试,与程序串行执行相比,采用函数级向量化后程序的执行效率更高。实验结果表明函数级向量化可以取得类似任务级并行的加速效果,该方法可以指导自动函数级向量化的实现。
- 李颖颖高伟高雨辰翟胜伟李朋远
- 关键词:并行性
- 面向SIMD向量化的循环优化技术研究
- 2016年
- 随着SIMD扩展技术的不断发展,自动向量化逐步成为程序优化的重点。然而,大部分程序本身不能直接被向量化,需要通过循环变换来发掘潜在的并行性。首先以Open64中的循环变换为例概括介绍了传统的循环优化方式,然后从多面体表示、循环变换建模方法和代价模型等3个方面具体介绍了多面体模型指导的循环变换技术,最后对两种循环优化方式的优缺点进行了对比分析。
- 高伟徐金龙孙回回李敏
- 关键词:自动向量化
- 基于SW26010处理器的FT程序的性能优化被引量:5
- 2019年
- "神威·太湖之光"是中国自主研发的超级计算机,其处理器芯片为国人自主研发的SW26010异构众核处理器,每个处理器内含有4个核组,每个核组包括1个主核和64个从核。NPB-FT程序的功能是利用快速傅立叶变换求解三维偏微分方程,其被广泛用于评测集群的计算和集合能力,因此选用FT程序对"神威·太湖之光"提供的多层次并行资源和体系架构的性能进行测试具有重要的意义。首先,利用加速线程库将程序改写为主从版本,使计算核心能够在从核上执行;其次,利用从核的寄存器通信以及主从核间的数据传输通道,消除FT程序中的数据转置过程;然后,实现了计算与通信隐藏,避免了核间通信时核内的计算资源处于空闲状态;最后,利用向量化和指令流水技术,提升程序的数据级并行和指令级并行。实验结果为:单核上3D-32规模的加速比为66,64核上3D-512规模的加速比为20,256核上3D-2048规模的加速比为46。
- 陶小涵庞建民高伟高伟姚金阳
- 关键词:傅立叶变换
- 向量并行度指导的循环SIMD向量化方法被引量:5
- 2017年
- SIMD扩展部件是集成到通用处理器中的加速部件,旨在发掘多媒体和科学计算等领域程序的数据级并行.当前,两种基本的向量发掘方法分别是发掘迭代间并行的Loop-based方法和发掘迭代内并行的SLP方法.Loopaware方法是对SLP方法的改进,其思想是:首先,通过循环展开将迭代间并行转换为迭代内并行,使循环体内的同构语句条数足够多;再利用SLP方法进行向量发掘.但当循环展开不合法或者并行度低于向量化因子时,Loop-aware方法无法实现程序向量并行性的发掘.因此提出了向量并行度指导的循环向量化方法,依据迭代间并行度、迭代内并行度和向量化因子构建循环向量化方法选择方案,同时提出了不充分向量化方法发掘并行度低于向量化因子的循环向量并行性,最后,依据向量并行度对生成的向量循环进行展开.经过标准测试集测试,向量并行度指导的循环SIMD向量化方法比Loop-aware方法的识别率提升了107.5%,性能提升了12.1%.
- 高伟韩林赵荣彩徐金龙陈超然
- 地理空间数据库引擎的设计与实现
- 由于空间数据具有复杂性的特点,对于地理信息系统软件的开发和使用、空间数据的共享和互操作带来了很大困难。空间数据库引擎的出现为解决上述问题提供了可能。空间数据库引擎屏蔽了空间数据的复杂性,使地理信息系统软件更易于开发、有效...
- 高伟
- 关键词:空间数据模型空间数据索引空间数据存储ADO
- Open64源源翻译流程研究被引量:2
- 2013年
- 源源翻译是一种有用的编译基础设施,它将高级语言程序转换为语义等价的可再编译的高级语言程序。越来越多的编译器包含源源翻译模块。和其它模块相比,Open64源源翻译模块还不够健壮。为了更好地解决源源翻译过程中出现的问题,首先研究了Open64的中间表示whirl,然后研究了Open64的源源翻译流程,最后通过测试说明源源翻译的重要性。
- 高伟李骁赵博
- 类型转换语句的SLP发掘方法被引量:2
- 2014年
- 多媒体技术的迅速发展使得越来越多的处理器集成了SIMD扩展,当前的编译器大多数都已实现了自动向量化功能。为了发掘迭代内并行,一些编译器在自动向量化模块中引入了SLP向量化方法。多媒体数据的密集存储和规则运算使得在处理多媒体数据时需要进行频繁的数据类型转换,而目前的SLP向量化方法对数据类型转换的处理能力还不完善。为了在存在大量数据类型转换语句的程序中发掘更多的SLP向量化机会,提出了一种类型转换语句的SLP发掘方法,它能够在SLP向量化框架下利用数据重组实现具有相同向量化因子和不同向量化因子的数据类型之间的转换。实验结果表明,该方法能够有效地对类型转换语句进行SLP向量化发掘,提高了程序的向量化执行效率。
- 赵博赵荣彩李雁冰高伟
- 关键词:数据重组SLPSIMD
- 基于Open64的Fortran90程序源源翻译
- 2013年
- 源源翻译是一种很有用的编译基础设施,它将高级语言程序转换为语义等价的可再编译的高级语言程序。目前Open64最新版本5.0中的Fortran90源源翻译还不是很完善,其中有两个突出问题:一是不支持动态数组的翻译;二是含有复杂数据结构的程序激进优化后,中间表示出现伪寄存器,源源翻译出错。在研究Open64的翻译流程和中间表示后,应用信息保存的翻译机制解决了动态数组的源源翻译问题和因为中间表示含有伪寄存器而造成的源源翻译错误的问题。测试结果表明,该方法增强了Open64的源源翻译处理能力。
- 高伟赵荣彩姚远魏帅
- 关键词:动态数组FORTRAN90
- 一种支持跨幅访存的向量化代码生成方法
- 2015年
- 随着SIMD扩展部件的迅速发展,自动向量化工具已逐渐成熟。现阶段的工具能对连续访存程序进行较好的处理,然而,大部分非连续访存的多媒体程序并不能被转换为高效的向量化代码。提出并实现了一种支持跨幅访存的向量化代码生成方法,其利用目标系统已有的基本数据处理指令实现多个向量间的任意重组来解决含有非连续访存语句的向量化代码生成问题。经过实验分析和验证,提出的代码生成方法能够将含有跨幅访存的语句转化为面向目标系统的高效向量化代码,以提高程序执行效率。
- 李朋远赵荣彩高伟高伟
- 关键词:代码生成向量化数据重组
- 循环展开技术在向量程序中的应用被引量:2
- 2016年
- 循环展开是一项常用的循环优化技术。当前针对串行程序的循环展开技术已经比较成熟,但是在实际应用中没有针对向量程序进行有效的循环展开。为了解决这个问题,提出了一种面向向量程序的循环展开技术。首先,针对向量寄存器压力和代码膨胀等限制因素,提出了一种自动计算展开因子的CUFVL算法;其次,根据向量循环展开的特点,制定了完全展开策略;最后结合CUFVL算法和完全展开策略,设计了向量循环展开的总体流程。实验结果表明,该方案能够计算出合适的展开因子,进而对向量程序进行适当的循环展开或完全展开,从而有效提升应用程序的性能。
- 高伟赵荣彩于海宁张庆花