首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 109 毫秒
1.
循环是程序中的热代码,对循环进行有效的优化可以显著缩短程序的执行时间。软件流水是一种开发循环体指令级并行的细粒度循环优化技术,它通过调度循环中连续迭代之间的指令使其并行执行,从而提高了循环的执行效率。实验数据表明,用Cerngoop程序包进行测试,循环优化效果明显。  相似文献   

2.
RISC多发射结构中循环优化的软件流水算法   总被引:2,自引:0,他引:2  
软件流水技术是一种很有效的循环优化方法。本文综述了软件流水的基本思想和算法分类;详细描述了三个典型的算法——LAM的算法,完善流水法和增强流水调度法;从时间优化效益,空间效益和计算复杂度等方面对它们作了分析比较;最后,对软件流水技术作了评价。  相似文献   

3.
软件流水技术是RISC多发射结构编译器的常用优化技术,它是一种很有效的循环化优化方法,文中介绍了软件流水的基本思想和算法分类,并对三种限家性软件流水算法-URPR算法,Lam的算法和DESP算法进行了详细描述和分析比较,得出了有意义的结论。  相似文献   

4.
软件流水的开销模型和决策框架   总被引:1,自引:0,他引:1       下载免费PDF全文
李文龙  林海波  汤志忠 《软件学报》2004,15(7):1005-1011
软件流水是一种重要的指令调度技术,它通过重叠地执行不同的循环体来提高指令级并行性(instruction level parallelism,简称ILP).模调度是一类被广泛采用的软件流水调度算法.软件流水并非一种无损的优化方法,它具有一定的开销,比如延长了编译时间、增加了寄存器压力等.而且,受到体系结构、调度算法以及程序特性的限制,进行软件流水并不一定能达到理想的加速比,有时反而会引起性能下降.提出了一种面向程序特性的软件流水开销模型,对此模型下的软件流水开销进行了量化分析,并提出了一种基于相关性分析的  相似文献   

5.
软件流水是一种开发循环程序指令级并行性的技术, 它通过并行执行连续的多个迭代来加快循环的执行速度。而在逆向工程中,软件流水却为逆向翻译带来了困难。为此,基于IA-64平台,提出了一种反流水算法,针对循环中包含软件流水的汇编代码进行处理,将其反向转换成语义等价的串行代码,并通过实验验证了该算法的有效性,为在二进制翻译中处理软件流水代码奠定了基础。  相似文献   

6.
一种软件流水的反流水算法   总被引:1,自引:0,他引:1       下载免费PDF全文
软件流水是一种循环程序的优化技术,已经广泛应用于现代优化编译器中.为了充分利用VLIW DSP处理机的指令级并行性,必须使用软件流水技术对DSP程序进行优化.然而,在串行源代码不存在的情况下,对软件流水后的原始代码进行变换、理解、测试和调试,并转换成其他处理机的代码是非常困难的.提出了一种反流水技术,它能够将软件流水后的优化汇编代码反向转换成语义等价的相应代码.通过20个程序的初步实验,验证了所提出的反流水算法的正确性.  相似文献   

7.
DSP的底层特性与传统的C语言特性差别很大,有DSP领域的特殊指令集,这些指令很难被编译器生成,或者根本不能被编译器生成.程序员也有需求直接访问底层特性.为了解决这个问题,通过对IMPACT的基础编译器框架进行拓展实现嵌入式汇编功能模块.  相似文献   

8.
一个新的多分支全局软件流水方法   总被引:1,自引:0,他引:1       下载免费PDF全文
在指令级并行性很高的体系结构中,为了得到比较好的并行优化效果,通常需要设置多个分支控制机构,本文提出一个新的支持多个分支操作并行执行的全局软件流水方法──GPMB.并用衡量全局软件流水方法性能的两个主要参数:时间开销和空间开销把我们的方法与其它几种全局软件流水方法进行了比较.模拟实验结果表明:GPMB方法的时间开销和空间开销都比较小,所需要的硬件支持也比较少.  相似文献   

9.
针对制造型企业普遍存在的流水车间调度问题,建立了以最小化最迟完成时间和总延迟时间为目标的多目标调度模型,并提出一种基于分解方法的多种群多目标遗传算法进行求解.该算法将多目标流水车间调度问题分解为多个单目标子问题,并分阶段地将这些子问题引入到算法迭代过程进行求解.算法在每次迭代时,依据种群的分布情况选择各子问题的最好解及与其相似的个体分别为当前求解的子问题构造子种群,通过多种群的进化完成对多个子问题最优解的并行搜索.通过对标准测试算例进行仿真实验,结果表明所提出的算法在求解该问题上能够获得较好的非支配解集.  相似文献   

10.
基于多DSP架构的电机控制系统   总被引:1,自引:2,他引:1  
针对交流永磁同步电机(PMSM)的双闭环反馈控制模型提出了多DSP架构的电机控制系统方案。该方案在电机控制算法分解的基础上结合流水线技术,采用3个DSP流水处理的方式,能够高效地完成复杂的电机控制算法。目的在于充分发挥多DSP流水处理的优势,为在电机控制中采用复杂的智能控制算法提供强大的计算能力。同时它也可以为其他类型电机的数字控制系统设计提供参考。  相似文献   

11.
现代高性能数字信号处理器大多数采用超长指令字体系结构,通过在同一时钟周期发射多条指令以便获得更高的运算性能来发掘目标机器指令级别并行性.介绍了BW104x目标体系特征,BWDSP104X是一款针对高性能计算领域设计的处理器,采用16发射、单指令流,多数据流架构.为了充分利用多簇及簇内硬件资源,基于open64编译基础设施提出了后端软流水优化,其中包括循环选择,资源依赖数据依赖计算,采用经典的模调度方法进行软流水调度,为解决不同迭代变量冲突引入模变量拓展模块.实验结果证明流水后性能相对流水前有了很好的提升.  相似文献   

12.
针对目前编译优化领域的深度学习模型普遍采用单任务学习而难以利用多个任务间的相关性提升模型整体编译加速效果的问题,提出了一种基于多任务深度学习的编译优化方法.该方法使用图神经网络(GNN)从C程序的抽象语法树(ASTs)和数据控制流图(CDFGs)中学习得到程序特征,然后对程序特征同步预测HXDSP软件流水启动间隔和循环展开因子.在DSPStone数据集上的实验结果表明,该多任务方法取得了相对于单任务方法12%的性能提升.  相似文献   

13.
弹性数据相关与软件流水   总被引:1,自引:0,他引:1  
容红波  汤志忠 《软件学报》2001,12(6):894-906
最差路径是有分支循环软件流水的一大障碍.对于有分支循环,某些数据相关(称为弹性相关)在循环的动态执行中可能产生、也可能不产生实例.据此,可将严重限制并行性的弹性相关用限制较松的虚构相关代替,再进行软件流水.若调度没有遵守原来的弹性相关,则使用下推变换修正.从而缓解或者完全解除了最差路径的限制.该方法与经典的控制猜测互补,特点是允许调度含错,然后纠错.  相似文献   

14.
Software pipelining is widely used as a compiler optimization technique to achieve high performance in machines that exploit instruction-level parallelism. However, surprisingly, there have been few theoretical or empirical results on time optimal software pipelining of loops with control flows. In this paper, we present three new theoretical and practical contributions for this underinvestigated problem. First, we propose a necessary and sufficient condition for a loop with control flows to have an optimally software-pipelined program. We also present a decision procedure to compute the condition. As part of the formal treatment of software pipelining, we propose a new formalization of software pipelining. Second, we present two software pipelining algorithms. The first algorithm computes an optimal solution for every loop satisfying the condition, but may run in exponential time. The second algorithm computes optimal solutions efficiently for most (but not all) loops satisfying the condition. The former one proves the sufficiency of the condition and the latter one suggests a practical optimal software pipelining algorithm. Third, we present experimental results which strongly indicate that achieving the time optimality in the software-pipelined programs is a viable goal in practice with reasonable hardware support.  相似文献   

15.
研究多集群的管理模式,设计支持多集群的用户决策和系统决策两种调度方式,提出基于PBS的多集群作业调度MCJSS架构。利用PBS的扩展接口,实现MCJSS的核心模块,管理多集群作业提交、作业转发和负载信息收集。给出了多集群间基于预测最轻负载转发的调度策略。运用两层负载信息收集策略服务于转发机制,利用组合单项负载的阈值来判断转发时机和目的集群。实验证明,相同的作业在相同规模但是不同组织形式的多集群和单集群组织模式下,多集群的系统吞吐量大于单集群组织模式。  相似文献   

16.
3种提高软件流水有效性的算法:比较和结合   总被引:1,自引:0,他引:1  
李文龙  陈彧  林海波  汤志忠 《软件学报》2005,16(10):1822-1832
软件流水是开发循环程序指令级并行性的技术,它通过并行执行连续的多个循环体来加快循环的执行速度.在软件流水中,循环体的重叠增加了寄存器需求,导致寄存器压力增大,当目标处理机所提供的寄存器不足时,软件流水可能失败.在Itanium处理机上评估了NAS和SPEC2000基准程序中的软件流水循环的寄存器需求,发现静态寄存器不足是造成软件流水失败的主要原因,提出了3种增加软件流水个数、提高软件流水有效性的算法:限制循环展开因子的算法(register sensitive unrolling,简称RSU)、堆栈寄存器分配算法(stacked registerallocation,简称SRA)以及变量类型转换的算法(variabletype conversion,简称VTC).RSU根据静态寄存器需求确定一个合理的展开因子,增加了软件流水的成功率;SRA和VTC分别使用空闲的堆栈寄存器和旋转寄存器来充当静态寄存器,提高了寄存器的利用率.在面向Itanium处理器的开放源码编译器ORC(open research compiler)上实现了这3种算法,通过NAS程序的测试比较了这3种算法的有效性,同时对它们的结合应用进行了研究和实验.  相似文献   

17.
容红波  汤志忠 《软件学报》2001,12(4):544-555
软件流水是循环调度的重要方法.有分支循环的流水依然是个难题.现有算法可以分为4类:循环线性化、路径分离、整体调度和路径选择.它们都未能和谐地解决两个对立问题:转移时间最小化和最差约束问题.提出了基于路径分组和数据相关松弛的软件流水框架,试图无矛盾地解决上述问题.其主要思想是:(1)路径分组,即按照路径的执行概率和转移概率将路径分组,力求最小化转移时间;(2)数据相关松弛,力求避免最差约束,即当循环有多条路径时,有些相关在循环执行中并不一定有实例,理想的策略是仅当它有实例时才遵守.初步实验和定性分析表明,此  相似文献   

18.
软件流水是一种重要的指令调度技术,它通过同时执行来自不同循环迭代的指令来加快循环的执行时间.随着处理器速度和访存速度差距越拉越大,访存指令尤其是cache miss的访存指令日益成为系统性能提高的瓶颈.由于这些指令的延迟不是固定的,如何在软件流水中预测并掩盖这些访存指令的延迟是非常重要的.与前人预测访存延迟的方法不同,引入cache profiling技术,通过动态收集到profile信息来预测访存延迟,并进行适当的调度.当增加模调度循环中的访存指令的延迟时,启动间隔也会随之增大,导致性能不会随之上升.CSMS算法和FLMS算法在尽量不增大启动间隔的情况下,改变访存指令的延迟.改进了CSMS算法和FLMS算法,根据cache profiling的信息来改变访存延迟,所以比前人的方法更为准确.实验表明,新方法可以有效地提高程序性能,对SPEC2000测试程序平均性能提高1%左右,个别例子的性能改进高达11%.  相似文献   

19.
周颖波  邝继顺  杨鹏 《计算机工程》2011,37(7):268-270,281
针对软件实现遗传算法运行速度过慢的问题,设计一种基于FPGA的遗传算法流水线.硬件系统采用完全流水线结构,划分为选择、交叉、变异、适应度计算4个流水单元.在Cyclone系列芯片上进行实现,测试结果表明,基于硬件实现的遗传算法的运行速度比用软件实现快3个数量级.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号