期刊文献+
共找到61篇文章
< 1 2 4 >
每页显示 20 50 100
循环展开在电磁场计算中的应用
1
作者 邢阔鹏 阎秀恪 任自艳 《东北电力技术》 2024年第2期5-10,共6页
在电气设备电磁场数值分析过程中,程序代码中含有大量的循环计算,其计算时间随有限元分析网格中单元和节点数量的增加而迅速增加。为提高循环计算时硬件资源的利用率、减少计算时间,根据循环计算相关特征量,研究能够预测不同循环中最佳... 在电气设备电磁场数值分析过程中,程序代码中含有大量的循环计算,其计算时间随有限元分析网格中单元和节点数量的增加而迅速增加。为提高循环计算时硬件资源的利用率、减少计算时间,根据循环计算相关特征量,研究能够预测不同循环中最佳循环展开因子的机器学习算法。首先建立不同的机器学习回归算法模型预测不同特征变量的循环计算时间,对模型的参数进行优化以提高预测准确率,通过比较计算时间找出最佳展开因子。然后建立循环特征变量与展开因子之间机器学习分类算法模型,预测得到最优循环展开因子。最后将算法应用于预测有限元分析代码中循环计算的最佳展开因子,将结果在1台单相变压器磁场有限元分析代码中进行循环展开,计算得到展开前后时间的加速程度。循环展开技术可以应用到有限元串行和并行计算中,并且在不同的程序中都有很好的适应性。 展开更多
关键词 循环展开 电磁计算 机器学习 并行计算
下载PDF
软件流水中的循环展开优化 被引量:16
2
作者 李文龙 刘利 汤志忠 《北京航空航天大学学报》 EI CAS CSCD 北大核心 2004年第11期1111-1115,共5页
在软件流水中应用循环展开可以实现分数值的启动间距 ,提高资源的利用率 ,同时基于展开的优化技术可以降低程序的资源需求和关键路径的长度 .提出了基于程序特性的展开因子算法UTBPC(UnrollingTimesBasedProgramCharacter istics) ,解... 在软件流水中应用循环展开可以实现分数值的启动间距 ,提高资源的利用率 ,同时基于展开的优化技术可以降低程序的资源需求和关键路径的长度 .提出了基于程序特性的展开因子算法UTBPC(UnrollingTimesBasedProgramCharacter istics) ,解决了循环展开的核心问题———展开因子的确定 ,同时提出了基于展开的软件数据预取优化技术 ,提高了软件数据预取的效率 .所有这些都在ORC(OpenRe searchCompiler)中实现 ,并对SPEC 2 0 0 0中的程序进行了测试 ,平均性能提高了 2 .6% .实验结果表明新提出的算法和基于展开的数据预取优化技术提高了编译器的整体性能 . 展开更多
关键词 计算机软件 软件流水 循环展开 展开因子 数据预取
下载PDF
利用循环分割和循环展开避免Cache代价 被引量:2
3
作者 刘利 陈彧 +1 位作者 乔林 汤志忠 《软件学报》 EI CSCD 北大核心 2008年第9期2228-2242,共15页
存储系统与处理器之间的速度差距逐渐变大,为此,cache使用了分级机制,但这也带来了额外的存储延迟(cache代价).提出一种利用循环分割和循环展开相结合避免cache代价的PCPLPU(prevent cache penalty by loop partition-unrolling)算法.... 存储系统与处理器之间的速度差距逐渐变大,为此,cache使用了分级机制,但这也带来了额外的存储延迟(cache代价).提出一种利用循环分割和循环展开相结合避免cache代价的PCPLPU(prevent cache penalty by loop partition-unrolling)算法.实验结果表明,PCPLPU算法能够有效避免循环代价,提高程序性能. 展开更多
关键词 循环分割 循环展开 cache代价 bank冲突
下载PDF
循环展开技术在向量程序中的应用 被引量:2
4
作者 高伟 赵荣彩 +1 位作者 于海宁 张庆花 《计算机科学》 CSCD 北大核心 2016年第1期226-231,245,共7页
循环展开是一项常用的循环优化技术。当前针对串行程序的循环展开技术已经比较成熟,但是在实际应用中没有针对向量程序进行有效的循环展开。为了解决这个问题,提出了一种面向向量程序的循环展开技术。首先,针对向量寄存器压力和代码膨... 循环展开是一项常用的循环优化技术。当前针对串行程序的循环展开技术已经比较成熟,但是在实际应用中没有针对向量程序进行有效的循环展开。为了解决这个问题,提出了一种面向向量程序的循环展开技术。首先,针对向量寄存器压力和代码膨胀等限制因素,提出了一种自动计算展开因子的CUFVL算法;其次,根据向量循环展开的特点,制定了完全展开策略;最后结合CUFVL算法和完全展开策略,设计了向量循环展开的总体流程。实验结果表明,该方案能够计算出合适的展开因子,进而对向量程序进行适当的循环展开或完全展开,从而有效提升应用程序的性能。 展开更多
关键词 向量程序 循环展开 展开因子 完全展开
下载PDF
滑动窗口应用循环展开及其数据通路生成 被引量:2
5
作者 董亚卓 刘明政 +1 位作者 夏飞 窦勇 《计算机学报》 EI CSCD 北大核心 2008年第6期989-997,共9页
滑动窗口广泛应用于图像处理、模式识别和数字信号处理中,它具有数据量大、计算密集等特点.可重构硬件为滑动窗口应用提供了一个灵活高效的实现平台.文中基于一种存储、数据调度模型及其相应的数据通路生成技术,研究循环展开对滑动窗口... 滑动窗口广泛应用于图像处理、模式识别和数字信号处理中,它具有数据量大、计算密集等特点.可重构硬件为滑动窗口应用提供了一个灵活高效的实现平台.文中基于一种存储、数据调度模型及其相应的数据通路生成技术,研究循环展开对滑动窗口应用的面积、时钟频率和吞吐率的影响.实验结果表明内层循环展开相对于外层循环展开将带来更大的控制复杂度,增加了对芯片面积的需求,然而外层循环展开需要更多的存储资源保存重用数据;当片内存储模块个数增加到一定规模时,时钟频率将随着循环展开不断降低;不同维度的应用,吞吐率随循环展开提升程度不同. 展开更多
关键词 滑动窗口操作 高级综合 循环展开 数据通路 存储结构
下载PDF
过程式语言部分求值循环展开的有效处理方法 被引量:1
6
作者 赵东范 刘磊 宋力彤 《计算机研究与发展》 EI CSCD 北大核心 2000年第1期102-108,共7页
文中基于数据流分析(DFA)技术,通过引进循环中变量之间的相互依赖关系,提出一种过程式语言部分求值的处理方法.
关键词 程序分析 部分求值 过程式语言 循环展开
下载PDF
基于循环展开的子字并行指令自动生成
7
作者 王淼 王志英 +1 位作者 沈立 戴葵 《华中科技大学学报(自然科学版)》 EI CAS CSCD 北大核心 2008年第2期46-49,共4页
针对向量编译的不足,提出一种基于循环展开的子字并行指令自动生成的方法.该方法利用传统的循环变换技术对多媒体应用中可以进行子字并行的循环进行优化,生成子字并行代码.首先识别出可并行的循环,然后通过循环展开、寄存器重命名、指... 针对向量编译的不足,提出一种基于循环展开的子字并行指令自动生成的方法.该方法利用传统的循环变换技术对多媒体应用中可以进行子字并行的循环进行优化,生成子字并行代码.首先识别出可并行的循环,然后通过循环展开、寄存器重命名、指令合并等技术来提升循环体基本块中的子字并行性.在TTA(trans-port triggered architecture)体系结构的编译框架下用该方法实现了子字并行指令的自动生成.实验表明该方法得到了较好的加速比. 展开更多
关键词 向量编译 子字并行 并行指令 循环展开 代码自动生成
下载PDF
基于随机决策森林的循环展开方法 被引量:2
8
作者 王冬 赵荣彩 +1 位作者 高伟 李雁冰 《计算机工程与设计》 北大核心 2018年第1期199-204,共6页
为提高编译器循环展开因子计算的准确性,提出一种基于改进的随机森林模型预测循环展开因子的方法。对传统随机森林模型进行加权的改进,为解决非平衡数据集问题提出基于SMOTE算法的BSC算法。从SPEC2006等测试集中提取近1000个循环并提取... 为提高编译器循环展开因子计算的准确性,提出一种基于改进的随机森林模型预测循环展开因子的方法。对传统随机森林模型进行加权的改进,为解决非平衡数据集问题提出基于SMOTE算法的BSC算法。从SPEC2006等测试集中提取近1000个循环并提取特征构成训练集,训练循环展开因子预测模型。生成的模型对于展开因子的预测准确度达81%,与编译器默认的循环展开方法相比,利用预测模型对选定的测试程序循环展开后性能平均提升12%。 展开更多
关键词 循环展开 编译优化 机器学习 随机决策森林 加权投票 非平衡数据集
下载PDF
广义部分求值循环展开的中止条件
9
作者 赵东范 刘艳 《长春邮电学院学报》 2000年第3期5-11,共7页
循环展开问题一直是过程式语言部分求值和广义部分求值的一个难题。笔者基于数据流分析技术 ,提出一个部分求值或广义部分求值的循环展开中止条件 。
关键词 程序设计语言 广义部分求值 循环展开
下载PDF
利用循环展开最大化软件流水线性能(英文) 被引量:3
10
作者 廖继荣 董海涛 《纯粹数学与应用数学》 CSCD 2004年第3期285-290,共6页
软件流水线通过重叠连续的循环实体来实现有效的精细调度 .然而 ,其性能可能受限制于循环里缺乏足够的并行操作或者资源需求 .“先展开后调度”技术在进行软件流水线调度之前先展开循环 ,从而能够发现更多的并行操作和充分利用关键资源 ... 软件流水线通过重叠连续的循环实体来实现有效的精细调度 .然而 ,其性能可能受限制于循环里缺乏足够的并行操作或者资源需求 .“先展开后调度”技术在进行软件流水线调度之前先展开循环 ,从而能够发现更多的并行操作和充分利用关键资源 .研究循环展开如何影响软件流水线的性能和资源利用 。 展开更多
关键词 软件流水线 循环展开 并行操作
下载PDF
向量DSP的混合资源启发式循环展开因子选择方法研究
11
作者 陆浩松 胡勇华 +2 位作者 王书盈 周新莲 李慧祥 《计算机科学》 CSCD 北大核心 2022年第S01期777-783,共7页
在现代处理器中,具有向量处理单元的VLIW体系结构逐渐成为高性能DSP体系结构的典型代表。基于这类体系结构的寄存器资源丰富、执行单元多等特点,研究了相应的循环展开因子选择问题,提出了一种循环展开因子选择方法来提升循环展开这种重... 在现代处理器中,具有向量处理单元的VLIW体系结构逐渐成为高性能DSP体系结构的典型代表。基于这类体系结构的寄存器资源丰富、执行单元多等特点,研究了相应的循环展开因子选择问题,提出了一种循环展开因子选择方法来提升循环展开这种重要优化的效果。该方法考虑了循环体代码的向量标量属性、基址寄存器和索引寄存器资源使用规则等因素,并且在展开因子选择算法中增加了执行单元使用占比和展开因子按幂次对齐这两种启发式因素。针对3种常用数字信息处理算法开展了实验研究,实验结果表明了该方法的有效性。对于这三种DSP算法,用所提方法获得的循环展开因子进行循环展开处理后,它们的平均性能相比已有方法提升了10%以上。 展开更多
关键词 循环展开 展开因子 超长指令字 向量DSP 编译优化
下载PDF
基于指令Cache和寄存器压力的循环展开优化 被引量:1
12
作者 王翠霞 韩林 刘浩浩 《计算机工程与科学》 CSCD 北大核心 2022年第12期2111-2119,共9页
循环展开是一种常用的编译优化技术,能够有效减少循环开销,提升指令级并行程度和数据局部性,提升循环的执行效能。然而,过度的循环展开会造成指令Cache溢出,增大寄存器压力,循环展开次数太少又会浪费潜在的性能提升机会,因此寻找恰当的... 循环展开是一种常用的编译优化技术,能够有效减少循环开销,提升指令级并行程度和数据局部性,提升循环的执行效能。然而,过度的循环展开会造成指令Cache溢出,增大寄存器压力,循环展开次数太少又会浪费潜在的性能提升机会,因此寻找恰当的展开因子是研究循环展开问题的核心。基于GCC开源编译器,面向循环展开问题开展深入的分析与研究,针对指令Cache和寄存器资源对循环展开的影响,提出了一种基于指令Cache和寄存器压力的循环展开因子计算方法,并在GCC编译器中实现了该计算方法。申威和海光平台上的实验结果显示,相较于目前GCC中存在的其它展开因子计算方法,所提出的方法可以获得更为有效的循环展开因子,提升了程序性能。在SPEC CPU 2006测试集上的平均性能分别提升了2.7%和3.1%,在NPB-3.3.1测试集上的分别为5.4%和6.1%。 展开更多
关键词 编译优化 循环展开 展开因子 指令CACHE 寄存器压力
下载PDF
IA-64后端编译中软件流水和循环展开的结合使用
13
作者 朱超鹏 张凯 李文龙 《军民两用技术与产品》 2003年第12期27-28,32,共3页
软件流水和循环展开是开发循环并行性的两种重要编译优化技术。IA-64是支持软件流水的EPIC体系结构。论述了在IA-64编译器中结合使用软件流水和循环展开的优点和意义,并结合实验进行了深度探讨。
关键词 软件流水 LA-64编译器 循环展开 处理器 指令级并行技术 后端编译
下载PDF
基于执行频率的循环展开优化方法
14
作者 余小喜 迟万庆 《微计算机信息》 2012年第3期49-51,共3页
本文提出一种面向嵌入式低功耗的基于执行频率的循环展开优化方法,根据循环的执行频率,积极展开一些频繁被执行的循环,不展开那些很少被执行的循环。所有这些都在GCC4.0.0上进行了实现,并在sim-panalyzer功耗模拟器上对12个Benchmarks... 本文提出一种面向嵌入式低功耗的基于执行频率的循环展开优化方法,根据循环的执行频率,积极展开一些频繁被执行的循环,不展开那些很少被执行的循环。所有这些都在GCC4.0.0上进行了实现,并在sim-panalyzer功耗模拟器上对12个Benchmarks进行了测试,结果表明,相对于传统的循环展开优化,新的优化方法可以有效的降低功耗,并且减少了代码量的增加。 展开更多
关键词 循环执行频率 循环展开 低功耗
下载PDF
利用m4定语言进行Fortran 77循环展开 被引量:5
15
作者 张林波 《数值计算与计算机应用》 CSCD 北大核心 1998年第1期49-63,共15页
Do-loop unrolling is an effective technique for improving performance of applicistion programs. This paper presents a method for unrolling nested Fortran DO-loops using the m4 macro language. m4 is a macro processor w... Do-loop unrolling is an effective technique for improving performance of applicistion programs. This paper presents a method for unrolling nested Fortran DO-loops using the m4 macro language. m4 is a macro processor widely available on UNIX platforms. By using carefully designed m4 macros, Do-loop unrolling becomes much simpler. More over, with this method, code can be written for general ullrolling parameters, allowing the program to be easily tuned bn different computers to reach optimal performance. 展开更多
关键词 循环展开 FORTRAN程序 m4宏语言 线性代数
原文传递
基于强化学习的循环自动展开研究
16
作者 李居垚 何先波 《智能计算机与应用》 2023年第11期286-289,共4页
近年来,芯片行业蓬勃发展,新的架构比以往更快地涌现出来。同时,现代计算机的应用场景变得越来越复杂,对计算机性能的要求逐渐增加。在编译优化中,循环展开发挥着承上启下的作用,且任务复杂,高度依赖经验,并需要大量人力和资源投入。为... 近年来,芯片行业蓬勃发展,新的架构比以往更快地涌现出来。同时,现代计算机的应用场景变得越来越复杂,对计算机性能的要求逐渐增加。在编译优化中,循环展开发挥着承上启下的作用,且任务复杂,高度依赖经验,并需要大量人力和资源投入。为了减少编译器开发中循环展开的工作量,并适应芯片行业快速发展的环境,本文提出了一种基于强化学习的自动展开器。经过实验比较,该循环展开器性能优于Clang-O3,并且与蛮力搜索相比具有更快的编译速度。 展开更多
关键词 循环展开 编译器 自动生成 强化学习
下载PDF
向量并行度指导的循环SIMD向量化方法 被引量:5
17
作者 高伟 韩林 +2 位作者 赵荣彩 徐金龙 陈超然 《软件学报》 EI CSCD 北大核心 2017年第4期925-939,共15页
SIMD扩展部件是集成到通用处理器中的加速部件,旨在发掘多媒体和科学计算等领域程序的数据级并行.当前,两种基本的向量发掘方法分别是发掘迭代间并行的Loop-based方法和发掘迭代内并行的SLP方法.Loopaware方法是对SLP方法的改进,其思想... SIMD扩展部件是集成到通用处理器中的加速部件,旨在发掘多媒体和科学计算等领域程序的数据级并行.当前,两种基本的向量发掘方法分别是发掘迭代间并行的Loop-based方法和发掘迭代内并行的SLP方法.Loopaware方法是对SLP方法的改进,其思想是:首先,通过循环展开将迭代间并行转换为迭代内并行,使循环体内的同构语句条数足够多;再利用SLP方法进行向量发掘.但当循环展开不合法或者并行度低于向量化因子时,Loop-aware方法无法实现程序向量并行性的发掘.因此提出了向量并行度指导的循环向量化方法,依据迭代间并行度、迭代内并行度和向量化因子构建循环向量化方法选择方案,同时提出了不充分向量化方法发掘并行度低于向量化因子的循环向量并行性,最后,依据向量并行度对生成的向量循环进行展开.经过标准测试集测试,向量并行度指导的循环SIMD向量化方法比Loop-aware方法的识别率提升了107.5%,性能提升了12.1%. 展开更多
关键词 SIMD扩展部件 向量并行度 Loop-aware 循环展开
下载PDF
基于路径分析的死循环检测 被引量:7
18
作者 阮辉 严俊 张健 《计算机学报》 EI CSCD 北大核心 2009年第9期1750-1758,共9页
提出了一种自动检测C语言程序中是否含有死循环的方法.该方法基于程序分析技术,包括循环展开和路径可行性分析技术.该方法首先通过遍历控制流图生成待查循环的检验路径;之后通过分析检验路径的可行性以及路径之间的联系,判断这些路径是... 提出了一种自动检测C语言程序中是否含有死循环的方法.该方法基于程序分析技术,包括循环展开和路径可行性分析技术.该方法首先通过遍历控制流图生成待查循环的检验路径;之后通过分析检验路径的可行性以及路径之间的联系,判断这些路径是否符合死循环模式.在此方法基础上实现了原型工具LoopAnalyzer,并对一组基准程序进行测试.实验结果表明此工具能有效地检测出C语言程序中的死循环,并且准确率较高. 展开更多
关键词 循环 循环展开 路径可行性 测试数据
下载PDF
面向图像检索的sgemv算法嵌入式优化技术
19
作者 郑恩 张翰成 +2 位作者 周俊鹏 白林亭 文鹏程 《航空计算技术》 2024年第1期62-65,共4页
行人重识别主要解决跨摄像头跨场景下行人的识别与检索,是继人脸识别之后又一针对“人”的视觉任务,主要任务是针对一个特定的行人在多摄像头输入的大规模图片集合中找出相同的人。如何在靠近摄像头的边缘端把特定的行人从大量行人库中... 行人重识别主要解决跨摄像头跨场景下行人的识别与检索,是继人脸识别之后又一针对“人”的视觉任务,主要任务是针对一个特定的行人在多摄像头输入的大规模图片集合中找出相同的人。如何在靠近摄像头的边缘端把特定的行人从大量行人库中快速检索出来是行人重识别研究的一个重要问题,由于边缘端嵌入式平台算力有限,提出一种面向图像检索的sgemv算法嵌入式优化技术,在边缘端对sgemv算法采用循环展开、OpenMP、Neon等技术进行加速优化,在飞腾D2000嵌入式平台、银河麒麟系统进行实验验证。结果表明,优化后比优化前提升速度达5.2倍,方法有效地提升了边缘端图像检索效率。 展开更多
关键词 行人重识别 图像检索 循环展开 OPENMP NEON
下载PDF
基于启发式搜索的带循环模型一致性检测方法 被引量:1
20
作者 谢燕 燕辉 +1 位作者 陈晓杰 段会龙 《计算机集成制造系统》 EI CSCD 北大核心 2022年第10期3081-3089,共9页
为了尽可能高效、准确地计算带循环模型的最优对齐,鉴于已有可保证准确性的无循环模型的一致性检测方法,提出带循环模型的一致性检测方法,其将带循环模型的一致性检测问题转化为寻找与给定事件序列一致性程度最高的循环展开过程。该方... 为了尽可能高效、准确地计算带循环模型的最优对齐,鉴于已有可保证准确性的无循环模型的一致性检测方法,提出带循环模型的一致性检测方法,其将带循环模型的一致性检测问题转化为寻找与给定事件序列一致性程度最高的循环展开过程。该方法利用过程模型中的循环对应事件序列中重复事件的特点,提出将事件序列按重复事件出现节点分解为若干子序列;将展开循环后(无循环)的过程模型与子序列逐渐递增的事件序列进行最优对齐计算,得到各循环展开情况与事件序列的匹配程度;以匹配程度作为启发信息,优先针对匹配程度高的展开情况继续展开,直到找到与事件序列最匹配的循环展开过程。实验结果表明,启发式搜索策略能有效减少搜索空间,在事件日志中的新增变异为非模型活动的情况下,准确率达到99.8%,验证了方法的有效性。 展开更多
关键词 事件序列 循环展开 搜索空间 最优对齐 启发式搜索
下载PDF
上一页 1 2 4 下一页 到第
使用帮助 返回顶部