当前位置: 首页 > 专利查询>清华大学专利>正文

基于中断的神经网络加速器多任务调度方法技术

技术编号:24251264 阅读:81 留言:0更新日期:2020-05-22 23:25
本发明专利技术公开了一种基于中断的神经网络加速器多任务调度方法,该方法包括:通过待部署神经网络模型的每个神经网络生成正常指令序列,处理正常指令序列生成中断位置;获取中断位置进行网络切换所需必要数据,并将必要数据对应操作编码为虚拟指令;将正常指令序列和虚拟指令封装,得到包含虚指令的指令序列;在运行阶段时,同时调度多个神经网络对应的指令序列,对每个神经网络对应的封装后的包含虚指令的指令序列进行解封,得到正常指令和虚拟指令,根据任务切换请求对正常指令和虚拟指令进行微调。该方法通过监控当前神经网络任务执行状态,在任务切换时仅仅对极少数必须备份和恢复片上缓存进行备份和恢复,实现低延迟、低代价的多任务切换。

Multi task scheduling method of neural network accelerator based on interruption

【技术实现步骤摘要】
基于中断的神经网络加速器多任务调度方法
本专利技术涉及人工智能算法加速器
,特别涉及一种基于中断的神经网络加速器多任务调度方法。
技术介绍
近年来,神经网络已经引起了越来越多的关注,并在人工智能
引起了巨大的进步。然而,神经网络推理需要消耗大量的计算和存储资源,传统的CPU难以对神经网络进行实时计算。有工作利用GPU对神经网络推理进行加速,然而GPU存在计算功耗高、计算资源利用率低等缺点。为了解决CPU和GPU处理神经网络存在的实时性和功耗问题,基于ASIC和FPGA的神经网络加速器被提出来实现神经网络的高能效推理。加速器具有很多优点:其一,专用加速器可以根据应用设计专门优化的计算和存储单元,进行高效率的数据重复使用,减少对片外存储的访问,降低功耗。其二,专用加速器可以充分利用神经网络的数据冗余,利用低比特的数据表示和完成计算,同时减少计算硬件资源和带宽资源需求。其三,神经网络专用加速器可以非常容易地与其他加速单元(如向量计算单元)等相结合,提升应用系统整体能效。神经网络加速器在机器人、服务器等应用场景中取得了不错的效果,但是现有加速器工作主要对单一网络进行加速,缺乏对多种神经网络的同时运行的支持,导致系统灵活性和应用范围大幅下降。例如,在机器人应用中,由于加速器缺乏多任务支持,无法在一个加速器上同时完成视觉里程计和场景识别,需要添加额外的加速器,导致额外的硬件资源浪费和能量消耗。一些指令驱动的加速器,可以通过不同的指令控制需要运行的网络,实现多个任务之间的切换。当前常见的多任务切换方法有两种:其一是按层/按网络调度方法,即在完成一个神经网络的一层/全部计算(取决于调度粒度)之后才能进行网络任务切换。其二是即时中断方法,即在结束当前运行指令之后立即对正在运行的神经网络状态进行备份,切换目标任务,待新任务完成之后,恢复原神经网络运行状态并继续执行。但该任务切换方法都存在一些问题,如神经网络计算量大,某些层的计算延迟很高,整体网络计算延迟更高。如果采用按层/按网络调度方法,新任务需要等待当前层/网络计算结束之后才能开始,导致任务切换延迟巨大,按层/按模型调度的任务切换延迟在数毫秒到数十毫秒之间。即时中断方法需要对运行状态进行恢复和备份,不同于CPU中断只需要备份和恢复少数寄存器,神经网络加速器需要备份和恢复的寄存器数目巨大,导致高额的数据备份和恢复代价,即时中断的任务切换方法延迟超过2ms,并且有数毫秒的额外时间开销。因此,亟待一种全新的基于中断的神经网络加速器多任务调度方案,实现低延迟、低代价的神经网络多任务切换。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的目的在于提出一种基于中断的神经网络加速器多任务调度方法,该方法可实现低延迟、低代价的多任务切换。为达到上述目的,本专利技术实施例提出了基于中断的神经网络加速器多任务调度方法,包括以下步骤:通过待部署神经网络模型的每个神经网络生成正常指令序列,处理所述正常指令序列生成中断位置;获取所述中断位置进行网络切换所需必要数据,并将所述必要数据对应操作编码为虚拟指令;将所述正常指令序列和所述虚拟指令封装,得到包含虚指令的指令序列;在运行阶段时,调度并解封多个神经网络封装后的包含虚指令的指令序列,生成正常指令和虚拟指令,根据多个任务间切换请求对正常指令和虚拟指令进行微调,调至下一任务的指令序列。本专利技术实施例的基于中断的神经网络加速器多任务调度方法,旨在神经网络加速器多任务调度问题,指令驱动的神经网络加速器将计算流程编码为指令,并通过不同的指令序列完成不同的神经网络计算,但传统不同指令序列之间的切换方式存在切换延迟高(等待一整层/所有层计算完成)、切换代价高(对加速器中所有片上缓存进行备份和恢复)的缺点,本专利技术实施例通过监控当前神经网络任务执行状态,在任务切换时仅仅对极少数必须备份和恢复片上缓存进行备份和恢复,实现低延迟、低代价的多任务切换。另外,根据本专利技术上述实施例的基于中断的神经网络加速器多任务调度方法还可以具有以下附加的技术特征:进一步地,在本专利技术的一个实施例中,所述正常指令序列为基于指令的神经网络加速器的一段指令序列,所述一段指令序列将一个神经网络的计算任务映射到加速器上。进一步地,在本专利技术的一个实施例中,所述必要数据为进行网络切换所需备份数据和恢复数据。进一步地,在本专利技术的一个实施例中,所述备份数据将片上数据搬运至片外,所述恢复数据将片外数据搬运至片上。进一步地,在本专利技术的一个实施例中,所述中断位置为所述正常指令序列执行过程中进行切换的地方,如果要进行网络任务切换,在最近到来的中断位置处进行运行状态的备份和恢复。进一步地,在本专利技术的一个实施例中,封装过程是将所述虚拟指令和所述正常指令进行打包,并且在打包时添加标志位,以将所述正常指令和所述虚拟指令进行区分。进一步地,在本专利技术的一个实施例中,所述在运行阶段时,调度并解封多个神经网络封装后的包含虚指令的指令序列,生成正常指令和虚拟指令,根据多个任务间切换请求对正常指令和虚拟指令进行微调,调至下一任务的指令序列,包括:在运行阶段时,利用所述待部署神经网络模型中的预设硬件单元将所述包含虚指令的指令序列解封,并监控程序运行状态和任务切换请求;当发生所述任务切换请求时,所述预设硬件单元将所述虚拟指令发送给执行单元,或根据所述运行状态对所述正常指令进行修改和调整,调至下一任务的指令序列。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本专利技术一个实施例快速低代价任务切换方案的两个部分,其中,包含虚指令的指令序列生成和运行时调度指令微调;图2为根据本专利技术一个实施例的基于中断的神经网络加速器多任务调度方法流程图;图3为评估本专利技术实施例的基于中断的神经网络加速器多任务调度方法的结果示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。首先,本专利技术实施例实现原理是在指令生成阶段在正常指令中添加一些虚拟指令实现对网络执行状态的监控,并且在执行阶段根据虚指令和任务切换请求对指令进行微调,实现低延迟、低代价的任务切换。如图1所示,主要包含两个步骤,第一部分是包含虚拟指令的指令序列生成,第二个部分是运行时指令微调。下面参照附图具体描述根据本专利技术实施例提出的基于中断的神经网络加速器多任务调度方法。图2是本专利技术一个实施例的基于中断的神经网络加速器多任务调度方法流程图。如图2所示,该基于中断的神经网络加速器多任务调度方法包括以下步骤:在步骤S201中,通过待部本文档来自技高网
...

【技术保护点】
1.一种基于中断的神经网络加速器多任务调度方法,其特征在于,包括以下步骤:/n通过待部署神经网络模型的每个神经网络生成正常指令序列,处理所述正常指令序列生成中断位置;/n获取所述中断位置进行网络切换所需必要数据,并将所述必要数据对应操作编码为虚拟指令;/n将所述正常指令序列和所述虚拟指令封装,得到包含虚指令的指令序列;以及/n在运行阶段时,调度并解封多个神经网络封装后的包含虚指令的指令序列,生成正常指令和虚拟指令,根据多个任务间切换请求对正常指令和虚拟指令进行微调,调至下一任务的指令序列。/n

【技术特征摘要】
1.一种基于中断的神经网络加速器多任务调度方法,其特征在于,包括以下步骤:
通过待部署神经网络模型的每个神经网络生成正常指令序列,处理所述正常指令序列生成中断位置;
获取所述中断位置进行网络切换所需必要数据,并将所述必要数据对应操作编码为虚拟指令;
将所述正常指令序列和所述虚拟指令封装,得到包含虚指令的指令序列;以及
在运行阶段时,调度并解封多个神经网络封装后的包含虚指令的指令序列,生成正常指令和虚拟指令,根据多个任务间切换请求对正常指令和虚拟指令进行微调,调至下一任务的指令序列。


2.根据权利要求1所述的基于中断的神经网络加速器多任务调度方法,其特征在于,所述正常指令序列为基于指令的神经网络加速器的一段指令序列,所述一段指令序列将一个神经网络的计算任务映射到加速器上。


3.根据权利要求1所述的基于中断的神经网络加速器多任务调度方法,其特征在于,所述必要数据为进行网络切换所需备份数据和恢复数据。


4.根据权利要求3所述的基于中断的神经网络加速器多任务调度方法,其特征在于,所述备份数据将片上数据搬运至片外,所述恢复数据...

【专利技术属性】
技术研发人员:余金城葛广君汪玉杨华中
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1