循环任务的生成、执行方法、装置、AI芯片及存储介质制造方法及图纸

技术编号:32026995 阅读:21 留言:0更新日期:2022-01-22 18:58
本发明专利技术实施例公开了一种循环任务的生成、执行方法、装置、AI芯片及存储介质。该生成方法包括检测到对目标数据块的数据搬运请求,创建目标循环任务;根据数据搬运请求中的数据搬运层级数,以及与各数据搬运层级对应的搬运描述参数,形成与各数据搬运层级分别对应的重复执行任务;若确定数据搬运层级数为多个,建立各相邻数据搬运层级重复执行任务间的依赖关系;将各重复执行任务和依赖关系,封装于目标循环任务中,向AI芯片的搬运请求调度设备发送与目标循环任务匹配的循环任务处理请求。本发明专利技术实施例的技术方案极大简化AI软件程序发送请求的操作,减轻搬运请求调度设备的解析负担,提升深度学习算法的整体运行效率。升深度学习算法的整体运行效率。升深度学习算法的整体运行效率。

【技术实现步骤摘要】
循环任务的生成、执行方法、装置、AI芯片及存储介质


[0001]本专利技术实施例涉及计算机深度学习技术,尤其涉及一种循环任务的生成、执行方法、装置、AI芯片及存储介质。

技术介绍

[0002]在深度学习领域,需要大量的数据来对网络进行训练,也就是使用特定的神经网络算法,对数据进行多轮的运算,从而生成一个可以使用的推理网络。由于通用CPU(Central Processing Unit,中央处理器)并不擅长处理这种数据量较大,逻辑较单一的运算,所以神经网络中的训练,通常是使用GPU(Graphics Processing Unit,图形处理器)或者专用的AI(Artificial Intelligence,人工智能)芯片来做运算。
[0003]在图1A中示出了现有技术中不同器件的硬件架构演进图,如图1A所示,CPU的ALU(arithmetic and logic unit,算数逻辑单元)较少,有Control(控制)逻辑,可以做更多更灵活的控制;GPU则通常会有大量ALU,也会有大块的DRAM(Dynamic Random Access Memory,动态随机存取存储器);AI芯片则通常是大量的ALU加多级的内存系统L。当然除了架构不同,AI芯片的ALU会集成更多深度学习中需要的张量指令,对深度学习更加友好。AI芯片为了加速数据处理,添加了多级存储,离ALU越近的存储,速度也越快,相对的容量也会越小。这势必会带来一个问题,那就是如何将数据在不同层级存储之间搬运。通常AI芯片会包含一个调度数据搬运请求的硬件设备,由这个设备再将请求配置到执行请求的硬件中。
[0004]现有的处理数据搬运的方法,就是AI软件程序不停的向调度请求的硬件设备发送这种请求来完成。而这种处理请求的方法,使处理调度的硬件设备解析请求的时间较长,当数据量很大且集中的时候,请求会堆积,处理请求的硬件设备难以及时处理请求,导致本该连续的数据处理操作会有很多间隙,影响最终性能。

技术实现思路

[0005]本专利技术提供一种循环任务的生成、执行方法、装置、AI芯片及存储介质,极大简化AI软件程序发送请求的操作,减轻搬运请求调度设备的解析负担,提升了深度学习算法的整体运行效率。
[0006]第一方面,本专利技术实施例提供了一种循环任务的生成方法,由AI芯片中的软件栈执行,该方法包括:在检测到对目标数据块的数据搬运请求,创建目标循环任务;根据所述数据搬运请求中的数据搬运层级数,以及与每个数据搬运层级分别对应的搬运描述参数,形成与每个数据搬运层级分别对应的重复执行任务;如果确定所述数据搬运层级数为多个,则建立各相邻数据搬运层级的重复执行任务之间的依赖关系;将各所述重复执行任务和所述依赖关系,封装于目标循环任务中,并向AI芯片中的搬运请求调度设备发送与目标循环任务匹配的循环任务处理请求。
[0007]第二方面,本专利技术实施例还提供了一种循环任务的执行方法,由AI芯片中的搬运请求调度设备执行,该方法包括:在接收到循环任务处理请求时,对所述循环任务处理请求中包括的循环任务进行解析;根据解析结果中的各重复执行任务,对AI芯片中的各执行节点进行搬运任务配置;根据解析结果中各相邻数据搬运层级的重复执行任务之间的依赖关系,配置不同执行节点间的数据搬运配合方式;触发各执行节点按照所配置的数据搬运配合方式,执行所配置的搬运任务。
[0008]第三方面,本专利技术实施例还提供了一种循环任务生成装置,由AI芯片中的软件栈执行,该装置包括:目标循环任务创建模块,用于在检测到对目标数据块的数据搬运请求,创建目标循环任务;重复执行任务形成模块,用于根据所述数据搬运请求中的数据搬运层级数,以及与每个数据搬运层级分别对应的搬运描述参数,形成与每个数据搬运层级分别对应的重复执行任务;依赖关系建立模块,用于如果确定所述数据搬运层级数为多个,则建立各相邻数据搬运层级的重复执行任务之间的依赖关系;循环任务处理请求发送模块,用于将所述重复执行任务和所述依赖关系,封装于目标循环任务中,并向AI芯片中的搬运请求调度设备发送与目标循环任务匹配的循环任务处理请求。
[0009]第四方面,本专利技术实施例还提供了一种循环任务的执行装置,由AI芯片中的搬运请求调度设备执行,该装置包括:循环任务解析模块,用于在接收到循环任务处理请求时,对所述循环任务处理请求中包括的循环任务进行解析;搬运任务配置模块,用于根据解析结果中的各重复执行任务,对AI芯片中的各执行节点进行搬运任务配置;数据搬运配合方式配置模块,用于根据解析结果中各相邻数据搬运层级的重复执行任务之间的依赖关系,配置不同执行节点间的数据搬运配合方式;执行节点触发模块,用于触发各执行节点按照所配置的数据搬运配合方式,执行所配置的搬运任务。
[0010]第五方面,本专利技术实施例还提供了一种AI芯片,包括:软件栈、搬运请求调度设备以及至少一个执行节点;所述软件栈,用于执行如本专利技术任意实施例所述的由软件栈执行的循环任务的生成方法;所述搬运请求调度设备,用于执行如本专利技术任意实施例所述的由搬运请求调度设备执行的循环任务的执行方法。
[0011]第五方面,本专利技术实施例还提供了一种计算机可执行指令的存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如本专利技术任意实施例所述的由软件栈执
行的循环任务的生成方法,或者,实现如本专利技术任意实施例所述的由搬运请求调度设备执行的循环任务的执行方法。
[0012]本专利技术实施例通过在检测到对目标数据块的数据搬运请求,创建目标循环任务;根据数据搬运请求中的数据搬运层级数,以及与每个数据搬运层级分别对应的搬运描述参数,形成与每个数据搬运层级分别对应的重复执行任务;如果确定数据搬运层级数为多个,则建立各相邻数据搬运层级的重复执行任务之间的依赖关系;将各重复执行任务和依赖关系,封装于目标循环任务中,并向AI芯片中的搬运请求调度设备发送与目标循环任务匹配的循环任务处理请求的技术手段,解决现有技术中当数据搬运请求量大且集中时,AI软件程序一个个不停的向处理调度的硬件设备发送请求,导致处理调度的硬件设备解析请求的时间较长,使请求堆积而难以及时处理请求的问题,极大简化AI软件程序发送请求的操作,减轻搬运请求调度设备的解析负担,提升了深度学习算法的整体运行效率。
附图说明
[0013]图1A为现有技术中不同器件的硬件架构演进图;图1B为本专利技术实施例一提供了一种循环任务的生成方法的流程图;图1C为本专利技术实施例一提供了一种建立依赖关系的具体应用场景;图1D为本专利技术实施例一提供了一种循环任务的生成方法的具体应用场景;图2A为本专利技术实施例二提供了一种循环任务的执行方法的流程图;图2B为本专利技术实施例二提供了一种循环任务的执行方法的具体应用场景;图3为本专利技术实施例三提供了一种循环任务的生成装置的结构示意图;图4为本专利技术实施例四提供了一种循环任务的执行装置的结构示意图;图5为本专利技术实施例五提供了一种AI芯片的结构示意图。
具体实施方式
[0014]下面结合附图和实施例对本专利技术作进一步的详细说明。可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种循环任务的生成方法,由人工智能AI芯片中的软件栈执行,所述方法包括:在检测到对目标数据块的数据搬运请求,创建目标循环任务;根据所述数据搬运请求中的数据搬运层级数,以及与每个数据搬运层级分别对应的搬运描述参数,形成与每个数据搬运层级分别对应的重复执行任务;如果确定所述数据搬运层级数为多个,则建立各相邻数据搬运层级的重复执行任务之间的依赖关系;将各所述重复执行任务和所述依赖关系,封装于目标循环任务中,并向AI芯片中的搬运请求调度设备发送与目标循环任务匹配的循环任务处理请求。2.根据权利要求1所述的方法,其特征在于,根据所述数据搬运请求中的数据搬运层级数,以及与每个数据搬运层级分别对应的搬运描述参数,形成与每个数据搬运层级分别对应的重复执行任务,包括:根据与各数据搬运层级对应的输入输出地址范围、输入输出维度范围和层级单次基准数据搬运量,确定与各数据搬运层级对应的首个单次搬运任务的任务参数、重复搬运次数和至少一个任务参数的递增步长;根据与各数据搬运层级对应的首个基准任务的任务参数、重复搬运次数和至少一个任务参数的递增步长,形成与每个数据搬运层级对应的重复执行任务。3.根据权利要求2所述的方法,其特征在于,所述任务参数包括:输入地址、输入维度、单次数据搬运量、输出地址以及输出维度。4.根据权利要求1所述的方法,其特征在于,建立各相邻数据搬运层级的重复执行任务之间的依赖关系,包括:获取与相邻的第一数据搬运层级和第二数据搬运层级分别对应的第一重复执行任务和第二重复执行任务;其中,第二重复执行任务用于搬运第一重复执行任务的搬运后结果;将第一重复执行任务加入至第二重复执行任务的生产者请求列表中,并标注生产次数,和生产数据大小;将第二重复执行任务加入至第一重复执行任务的消费者请求列表中,并标注消费次数和消费数据大小,以形成第一重复执行任务和第二重复执行任务之间的依赖关系。5.一种循环任务的执行方法,由人工智能AI芯片中的搬运请求调度设备执行,所述方法包括:在接收到循环任务处理请求时,对所述循环任务处理请求中包括的循环任务进行解析;根据解析结果中的各重复执行任务,对AI芯片中的各执行节点进行搬运任务配置;根据解析结果中各相邻数据搬运层级的重复执行任务之间的依赖关系,配置不同执行节点间的数据搬运配合方式;触发各执行节点按照所配置的数据搬运配合方式,执行所配置的搬运任务。6.根据权利要求5所述的方法,其特征在于,根据解析结果中的各重复执行任务对AI芯片中的各执行节点进行搬运任务配置,包括:形成与解析结果中每个重复执行任务对应的多个单次搬运任务;将与同一重复执行任务对应的多个单次搬运任务配置到AI芯片...

【专利技术属性】
技术研发人员:丁圣阁舒棚胡强
申请(专利权)人:北京燧原智能科技有限公司
类型:发明
国别省市:

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

1