首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
国防科技大学自主研制的高性能加速器采用中央处理器(CPU)+通用数字信号处理器(GPDSP)的片上异构融合架构,使用超长指令集(VLIW)+单指令多数据流(SIMD)的向量化结构的GPDSP是峰值性能主要支撑的加速核。主流编译器在密集的数据计算指令排布、为指令静态分配硬件执行单元、GPDSP特有的向量指令等方面不能很好地支持高性能加速器。基于低级虚拟器(LLVM)编译框架,在前寄存器分配调度阶段,结合峰值寄存器压力感知方法(PERP)、蚁群优化(ACO)算法与GPDSP结构特点,优化代价模型,设计支持寄存器压力感知的指令调度模块;在后寄存器分配阶段提出支持静态功能单元分配的指令调度策略,通过冲突检测机制保证功能单元分配的正确性,为指令并行执行提供软件基础;在后端封装一系列丰富且规整的向量指令接口,实现对GPDSP向量指令的支持。实验结果表明,所提出的LLVM编译架构优化方法从功能和性能上实现了对GPDSP的良好支撑,GCC testsuite测试整体性能平均加速比为4.539,SPEC CPU 2017浮点测试整体性能平均加速比为4.49,SPEC CPU 2017整型测试整体性能平均...  相似文献   

2.
多核处理器能够提升多线程程序的性能,但早已存在的诸多单线程程序无法从中获益,程序员也习惯于编写单线程程序.自动并行化技术是将单线程程序移植到多核上的重要手段,但是当循环中存在无法确定的数据依赖或复杂的控制流时,传统的自动并行化技术无法取得良好效果.Ottoni等人针对传统自动并行失败的循环提出了Decoupled Software Pipelining(DSWP)算法用以实现指令级的细粒度并行,但其需要对处理器体系结构的深入了解以及对核间通信队列和专用指令的硬件支持,并行性能和应用广泛性受到限制.基于OpenMP应用编程接口实现的DSWP并行不依赖于硬件上对核间通信队列和专用指令的支持,且不受平台的限制,但现有的OpenMP任务调度机制无法满足DSWP并行中对任务调度的需求.对现有的OpenMP任务调度机制进行扩展,增加了任务与线程绑定的属性,保证了基于OpenMP的DSWP并行程序的正确执行.在GCC的OpenMP运行库libgomp中扩展了任务绑定属性子句的功能,扩展后的GCC作为OpenMP DSWP程序的基础编译器,为自动并行提供支持.通过对基准测试集NPB3.3.1的测试表明,传统自动并行失败的循环,经OpenMP DSWP自动并行后在双核处理器上平均加速比达到1.23以上;使用添加了OpenMP DSWP算法的Open64编译器生成的并行程序,与仅使用传统自动并行方法的Intel 编译器和Open64编译器所得程序相比,平均加速比分别高出22%和26%.  相似文献   

3.
针对编译循环内的查找表分派指令导致的代码重复或额外运行开销,在Dalvik虚拟机的基于Trace的即时编译器中提出了改进的代码生成算法。同已有的代码生成算法相比,该方法在划分基本块阶段获取查找表分派的信息,并将查找表分派指令转换成一系列条件分支指令,通过条件分支指令实现子Trace同主Trace的合并,避免了主子Trace切换时额外的函数调用。实验结果表明,对于循环内含查找表分派的应用程序,该算法能提升其性能。  相似文献   

4.
卷积神经网络(Convolutional Neural Network,CNN)是目前主流视觉算法不可或缺的关键部分.为提高CNN模型推理速度,学界提出了众多异构加速方法以满足不同场景下的多元加速需求.但如何在资源与能耗受限的在轨卫星上稳定高效地加速CNN仍是极具挑战的课题.为此,本文通过软硬件协同设计,着力优化微指令编码、指令级并行和运算级并行3个加速器设计的关键部分,在星上常见的Xilinx VX690T FPGA芯片上设计实现了一种微指令序列调度数据流的CNN加速器.在软件层面,本文提出一种可扩展的微指令编码格式及相应的编译方法.通过卷积循环分块和算子融合策略实现图级别优化,生成加速器可执行的微指令序列.在硬件层面,本文设计实现了一个由微控制器与逻辑运算器组成的RTL级CNN加速器.微控制器通过粗粒度流水线实现各类指令的并行执行.逻辑运算器通过DSP48E1计算资源级联所构建的计算阵列实现卷积算子的细粒度并行运算.实验结果表明,加速器设计功耗10.68W,在加速YOLOV3Tiny算法时,峰值吞吐率(Runtime Max Throughput,RMT)达到378.63 GOP/...  相似文献   

5.
基于申威处理器,在底层虚拟机(Low Level Virtual Machine,LLVM)编译器后端对锁机制提供编译支持,保证多线程环境下,对共享内存操作的原子性.锁机制研究与实现主要包括实现原子指令语义映射策略保证原子操作的原子性并在锁机制算法中加入对8位和16位数据类型的数据处理,实现锁机制在申威处理器上对小粒度数据类型的支持.基于并行计算机基准测试集NPB进行测试,在多线程环境下所有程序皆自校验通过.在16个线程下,Fortran语言程序平均加速比为11.91,最大加速比为15.73,C语言程序平均加速比为8.08,最大加速比为13.32.  相似文献   

6.
机器学习、模式识别、数据挖掘等领域中的输入模式常常是高阶张量.文中首先从向量模式推广到张量模式,提出弹球支持张量机模型.然后给出求解弹球支持张量机模型的序贯最小优化算法(SMO).为了保持张量的自然结构信息,同时加速训练过程,采用张量的秩-1分解代替原始张量计算张量内积.在向量数据和张量数据上进行的大量实验表明:对于向量数据,相比经典的积极集法,SMO的计算速度更快;对于张量数据,相比弹球支持向量机,弹球支持张量机具有更快的训练速度和更好的泛化能力.  相似文献   

7.
多媒体处理器的SIMD代码生成   总被引:1,自引:0,他引:1  
通用处理器的SIMD(Single Instruction Multiple Data)多媒体扩展,为提高多媒体应用的性能提供了新的体系结构支持。但目前编译技术对这类指令不能提供很好的支持。本文提出了一个新的SIMD指令生成算法,基于把编译器前端的程序分析和编译器后端的机器信息相结合的思想,采用扩展的treeparsing技术,有效识别程序中的并行操作以生成SIMD指令。基于SUIF(Stanford University Intermediate Format)编译器框架的实验表明,针对一组多媒体kernel,本文提出的算法可平均减少其非SIMD代码47%的cycles。  相似文献   

8.
密码专用处理器常采用分簇式超长指令字(Very Long Instruction Word, VLIW)架构,其性能的发挥依赖于编译器的实现.当前对于通用VLIW架构的编译后端优化方案,在密码专用处理器上都有一定的不适应性.为此,本文提出了一种面向密码专用处理器的、同时进行簇指派、指令调度和寄存器分配的编译器后端优化方法.构造“定值-引用”链,求解变量的候选寄存器类型集合交集,确定其寄存器类型;实时评估可用资源,进行基于优先级的指令选择和基于平衡寄存器压力的簇指派;改进线性扫描算法,基于变量的“待引用次数”列表进行实时的寄存器分配.实验结果表明,本方法能够提升生成代码的性能,且算法是非启发式的,减小了编译所需的时间.  相似文献   

9.
编译器是嵌入式系统软件中的重要组成部分,它对嵌入式系统的软件开发有重要影响。本文在将体系结构描述语言(ADL)与传统可移植编译器相结合,自动生成嵌入式系统编译器的思想基础上,对自动生成工具genmd的结构进行了分析。重点对其指令识别和机器描述生成部分进行了抽象和建模。同时,针对genmd不支持分支跳转类指令的问题提出了改进方案。  相似文献   

10.
VLIW是DSP芯片上使用最多的一种技术,要发挥DSP芯片的性能优势,需要编译器的支持.目前关于VLLW技术的研究主要集中在如何形成更长的基本块,以及基本块之间的代码优化算法上,对于如何选择指令从而形成一个超长指令字的算法,却没有仔细地描述和实现,但这是在编译器的指令调度模块中需要具体考虑的问题,具有工程实践意义.本文通过改进编译器的lisf算法实现了支持VLIW技术的指令调度优化算法,改进的算法可以充分利用芯片的VLIW结构的优势,加速程序运行,具有较好性能.  相似文献   

11.
矩阵乘法是数值分析以及图形图像处理算法的基础,通用的矩阵乘法加速器设计一直是嵌入式系统设计的研究热点。但矩阵乘法由于计算复杂度高,处理效率低,常常成为嵌入式系统运算速度的瓶颈。为了在嵌入式领域更好地使用矩阵乘法,提出了基于MPSoC(MultiProcessor System-on-Chip)的软硬件协同加速的架构。在MPSoC的架构下,一方面,设计了面向硬件约束的矩阵分块方法,从而实现了通用的矩阵乘法加速器系统;另一方面,通过利用MPSoC下的多核架构,提出了相应的任务划分和负载平衡调度算法,提高了并行效率和整体系统加速比。实验结果表明,所提架构及算法实现了通用的矩阵乘法计算,并且通过软硬件协同设计实现的多核并行调度算法与传统单核设计相比在计算效率方面得到了显著的提高。  相似文献   

12.
介绍了国际主流密码算法AES和SHA,综述了当前主流通用处理器架构的密码算法指令发展现状。为提高国产通用处理器在密码安全领域的性能,设计了面向国产通用处理器的AES和SHA密码算法扩展指令集,实现了能全流水执行的AES和SHA密码算法指令执行部件,并进行了实现评估和优化。该密码算法指令执行部件的工作频率达2.0 GHz,总面积为17 644μm2,总功耗为59.62 mW,相比软件采用原有通用指令实现,对AES密码算法的最小加速比为8.90倍,对SHA密码算法的最小加速比为4.47倍,在指令全流水执行时可达19.30倍,显著地改善了处理器执行AES和SHA密码算法的性能,有望应用于国产通用处理器并进一步提升国产通用处理器芯片在密码安全应用领域的竞争力。此外,该密码算法指令部件还可以封装成专门用于支持密码算法的IP,应用在密码安全领域的专用芯片中。  相似文献   

13.
指令级并行在提高处理器运行速度方面显得越来越重要,if转换技术是一种在处理器支持条件执行的前提下,有助于提高指令级并行度的编译优化技术。在详细分析GCC(GNU Compiler Collection)内部if转换技术的实现机制和算法的基础上,针对matrix体系结构特点,对GCC中现有if转换算法进行了移植与改进,实现了matrix编译器的if转换算法。实验证明,改进后的if转换算法能够更有效地移除分支,减少基本块的数量,扩大单个基本块的范围,有助于编译器生成更加优化的代码。  相似文献   

14.
面向应用的可重构编译器ASCRA(英文)   总被引:1,自引:0,他引:1       下载免费PDF全文
在很多应用领域已经开展了可重构计算的研究,但是由于缺乏高层设计工具,设计者需要较深的软件和硬件专业知识才能开发GPP/RAU架构的程序,阻碍了其大规模应用。提出了一种面向应用的可重构编译器——ASCRA的初始架构,它可以自动将C语言映射为VHDL语言,从而解决可重构计算中自动编译工具的瓶颈。ASCRA编译器主要研究软硬件划分技术和面向硬件的优化技术,如脉动阵列、循环流水技术。在ML505开发平台上,设计实现了ASCRA编译器的验证平台,并通过实验给出了核心程序段生成VHDL代码的综合信息。  相似文献   

15.
图卷积神经网络GCN当前主要在PyTorch等深度学习框架上基于GPU实现加速。然而GCN的运算过程包含多层嵌套的矩阵乘法和数据访存操作,使用GPU虽然可以满足实时性需求,但是部署代价大、能效比低。为了提高GCN算法的计算性能并保持软件灵活性,提出一种基于RSIC-V SoC的定制GCN加速器,在蜂鸟E203的SoC平台中通过点积运算扩展指令和硬件加速器软硬件协同的方法实现了针对GCN的加速,通过神经网络参数分析确定了从浮点数到32位定点数的硬件量化方案。实验结果表明,在Cora数据集上运行GCN算法时,该加速器没有精度损失,速度最高提高了6.88倍。  相似文献   

16.
陈向  沈立  李家文 《计算机科学》2011,38(5):290-294
SIMID指令能够高效开发数据级并行,因此当前绝大多数通用微处理器都支持这种机制。但是应用程序和算法的一些固有特性,如访存地址不对齐、非连续存储访问以及控制流等,使得编译器或程序员必须借助置换指令重新组合向量的各个元素,才能得到符合SIMD指令要求的操作数。这些冗余的置换指令已成为当前挖掘数据级并行的主要性能瓶颈。提出一种自动的数据置换指令生成和优化算法,以有效地减少置换指令带来的性能损失。该算法基于提出的一种新中间表示形式,其中包含有足够的操作数地址信息,因此可以将置换指令的生成转换为数据流图中冲突边的识别问题,而将置换指令的优化转化为用最少的置换指令来删除所有冲突边的问题。面向一组典型多媒体程序进行测试的结果表明,提出的算法可平均获得7%的性能加速。  相似文献   

17.
基于流密码的可适配反馈移位寄存器指令   总被引:1,自引:1,他引:0       下载免费PDF全文
在对A5,Grain,Trivium等34种流密码算法结构进行分析的基础上,研究算法中线性和非线性反馈移位寄存器的结构特征,总结其相应操作。构造专用的反馈移位寄存器配置指令和操作指令,通过配置可灵活实现多种结构的反馈移位寄存器及其组合,并完成相应操作。设计实现支持其执行的硬件单元,可作为专用流密码微处理器的核心功能单元。  相似文献   

18.
为了提升处理器执行循环的性能,降低循环开销,提出一种适用于多发射数字信号处理器(DSP)的软硬件协同循环优化方法.在对循环体量化分析的基础上,利用编译器进行循环标志指令的插入和循环开销指令的删除,并由新增的硬件专用循环单元根据循环标志指令携带的信息实现循环计数器的增减和取指地址的计算等功能,达到零开销循环的目的.在多发射DSP SuperV_EF01上的实验结果表明,应用文中方法后,指令周期数和汇编代码大小平均降低了20.94%和4.06%.  相似文献   

19.
在国产申威高性能多核服务器系统中,基础编译系统对应用程序中访存操作进行代码生成时,没有考虑国产处理器指令特征,导致编译器生成的访存地址计算代码效率较低,影响国产高性能处理器的性能。为充分发挥国产处理器高性能计算能力,提出一种加速访存地址计算的编译优化方法。加速访存地址计算编译优化基于处理器支持带扩展因子的运算指令,在编译器后端内存地址表达式合法性检查中,添加针对乘加模式的地址计算表达式合法性检查算法,自动识别地址表达式中存在的乘加运算并进行合法性检验,对符合条件的地址表达式在代码生成阶段匹配生成带扩展因子的运算指令来快速计算访存地址,从而加快访存指令的发射与执行以及应用程序中的访存地址生成,提升访存效率。使用行业标准性能测试集SPEC CPU2006对优化效果进行评测,结果表明,相比优化前SPECspeed Integer与SPECspeed Float Point两个子集,该优化方法平均性能分别提高了2.53%与1.50%。  相似文献   

20.
编译器后端移植是目前嵌入式系统研究的重要领域,如何快速实现编译器后端移植仍然是嵌入式系统研究的热点。采用新的编译器架构LLVM,移植NiosⅡ处理器来分析LLVM快速后端移植架构。使用LLVM后端移植架构的TableGen描述NiosⅡ体系结构例如指令、寄存器等,使用完备LLVM C++函数库实现复杂或特殊的操作。TableGen与C++函数库互相配合,最终实现LLVM架构对NiosⅡ后端的支持。实验结果表明与GCC编译器后端移植方法相比,基于LLVM架构的编译器后端移植方法的工作量减少了64.2%~83.9%,大大节省后端移植时间。  相似文献   

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

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