处理单元、加速单元、相关装置和方法制造方法及图纸

技术编号:30943664 阅读:16 留言:0更新日期:2021-11-25 19:53
本公开提供了一种处理单元、加速单元、相关装置和方法。该处理单元包括:取指令单元;指令译码单元;指令执行单元,用于实现:基于译码后的多个深度网络模型指令和编译参数指令生成加速单元模型指令和执行计划,所述执行计划反映了各加速单元模型指令的执行顺序和各加速单元模型指令向多个虚拟核的分配;获取译码后的推理命令用的加速单元模型指令和执行计划,获取加速单元中物理核的负载状况,根据所述负载状况进行所述虚拟核到物理核的映射,按照所述执行计划和所述映射将加速单元模型指令加载到物理核。本公开实施例提高了需要运行多个深度神经网络模型的应用场景中运行多个深度神经网络模型的效率,节省了带宽。节省了带宽。节省了带宽。

【技术实现步骤摘要】
处理单元、加速单元、相关装置和方法


[0001]本公开涉及芯片领域,更具体而言,涉及一种处理单元、加速单元、相关装置和方法。

技术介绍

[0002]在深度神经网络的应用中,有些应用场景比较复杂,需要部署多种不同类型的深度神经网络模型。有时还会使用同一个深度神经网络模型做不同数据类型的训练,产生多个用于不同目的的深度神经网络模型。这些模型有不同的权重,在计算上可以视为不同的深度神经网络模型。对于这种需要运行很多个深度神经网络模型完成一个任务的应用,现有技术中,需要多个深度神经网络模型轮流执行。即,执行完一个模型,再载入另外一个模型。当执行的批数小的时候,这种方法中,深度神经网络模型之间的轮换导致带宽需求明显增加。

技术实现思路

[0003]有鉴于此,本公开旨在提高需要运行多个深度神经网络模型的应用场景中运行多个深度神经网络模型的效率,节省带宽。
[0004]根据本公开的一方面,提供了一种处理单元,包括:
[0005]取指令单元,用于从所述处理单元外部的存储器取回计算机指令;
[0006]指令译码单元,用于对取回的计算机指令进行译码;
[0007]指令执行单元,用于执行译码后的所述计算机指令,以实现:
[0008]基于译码后的多个深度网络模型指令和编译参数指令生成加速单元模型指令和执行计划,所述执行计划反映了各加速单元模型指令的执行顺序和各加速单元模型指令向多个虚拟核的分配;
[0009]获取译码后的推理命令用的加速单元模型指令和执行计划,获取加速单元中物理核的负载状况,根据所述负载状况进行所述虚拟核到物理核的映射,按照所述执行计划和所述映射将加速单元模型指令加载到物理核。
[0010]可选地,所述编译参数指令至少包括要使用的核数量、所述多个深度网络模型的依赖关系;所述基于所述多个深度网络模型指令和编译参数指令生成加速单元模型指令和执行计划,包括:生成各深度网络模型指令对应的加速单元模型指令;根据所述依赖关系和所述要使用的核数量,确定所述多个深度网络模型的执行批次;根据同一批次的深度网络模型的存储占用量和计算量,将同一批次的深度网络模型向所述多个虚拟核分配;根据确定的所述多个深度网络模型的执行批次和同一批次的深度网络模型向所述多个虚拟核的分配,生成所述执行计划。
[0011]可选地,所述根据同一批次的深度网络模型的存储占用量和计算量,将同一批次的深度网络模型向所述多个虚拟核分配,包括:
[0012]根据深度网络模型指令,确定深度网络模型的权重存储占用量;
[0013]根据深度网络模型指令,确定深度网络模型的输入张量、中间张量、输出张量的张量存储占用量;
[0014]根据深度网络模型指令,确定深度网络模型的计算量;
[0015]按照所述深度网络模型的权重存储占用量和张量存储占用量的总和、以及所述深度网络模型的计算量,将同一批次的深度网络模型向所述多个虚拟核分配。
[0016]可选地,所述按照所述深度网络模型的权重存储占用量和张量存储占用量的总和、以及所述深度网络模型的计算量,将同一批次的深度网络模型向所述多个虚拟核分配,是按照所述总和在分配的虚拟核上均衡、所述计算量在分配的虚拟核上均衡的方式进行的。
[0017]可选地,所述基于译码后的多个深度网络模型指令和编译参数指令生成加速单元模型指令和执行计划,是响应于接收到译码后的多个深度网络模型指令和编译参数指令执行的,生成的加速单元模型指令和执行计划存储到所述处理单元之外的存储器;所述译码后的推理命令用的加速单元模型指令和执行计划是响应于接收到译码后的推理命令而从所述存储器获取的。
[0018]可选地,所述基于译码后的多个深度网络模型指令和编译参数指令生成加速单元模型指令和执行计划,是响应于同时接收到译码后的多个深度网络模型指令、编译参数指令和推理命令执行的。
[0019]可选地,如果所述执行计划中,为所述加速单元模型指令分配了M个虚拟核,所述根据所述负载状况进行所述虚拟核到物理核的映射,包括:选取所述负载状况最小的M个物理核,作为所述加速单元模型指令加载到的物理核。
[0020]可选地,在按照所述执行计划和所述映射将加速单元模型指令加载到物理核之后,所述指令执行单元执行译码后的所述计算机指令,以实现:
[0021]按照所述执行计划和所述映射将所述推理命令用到的输入张量加载到物理核;
[0022]从物理核接收所述物理核根据所述输入张量、和加速单元模型指令中的权重运算出的运算结果。
[0023]根据本公开的一方面,提供了一种处理单元,包括:
[0024]取指令单元,用于从所述处理单元外部的存储器取回计算机指令;
[0025]指令译码单元,用于对取回的计算机指令进行译码;
[0026]指令执行单元,用于执行译码后的所述计算机指令,以基于译码后的多个深度网络模型指令和编译参数指令生成加速单元模型指令和执行计划,所述执行计划反映了各加速单元模型指令的执行顺序和各加速单元模型指令向多个虚拟核的分配。
[0027]可选地,所述编译参数指令至少包括要使用的核数量、所述多个深度网络模型的依赖关系;所述基于所述多个深度网络模型指令和编译参数指令生成加速单元模型指令和执行计划,包括:生成各深度网络模型指令对应的加速单元模型指令;根据所述依赖关系和所述要使用的核数量,确定所述多个深度网络模型的执行批次;根据同一批次的深度网络模型的存储占用量和计算量,将同一批次的深度网络模型向所述多个虚拟核分配;根据确定的所述多个深度网络模型的执行批次和同一批次的深度网络模型向所述多个虚拟核的分配,生成所述执行计划。
[0028]可选地,所述根据同一批次的深度网络模型的存储占用量和计算量,将同一批次
的深度网络模型向所述多个虚拟核分配,包括:
[0029]根据深度网络模型指令,确定深度网络模型的权重存储占用量;
[0030]根据深度网络模型指令,确定深度网络模型的输入张量、中间张量、输出张量的张量存储占用量;
[0031]根据深度网络模型指令,确定深度网络模型的计算量;
[0032]按照所述深度网络模型的权重存储占用量和张量存储占用量的总和、以及所述深度网络模型的计算量,将同一批次的深度网络模型向所述多个虚拟核分配。
[0033]可选地,所述按照所述深度网络模型的权重存储占用量和张量存储占用量的总和、以及所述深度网络模型的计算量,将同一批次的深度网络模型向所述多个虚拟核分配,是按照所述总和在分配的虚拟核上均衡、所述计算量在分配的虚拟核上均衡的方式进行的。
[0034]根据本公开的一方面,提供了一种加速单元,包括:
[0035]多个物理核;和
[0036]命令处理器,用于响应于接收到推理命令,执行:
[0037]获取所述推理命令用的加速单元模型指令和执行计划,所述执行计划反映了加速单元模型指令的执行顺序和加速单元模型指令向多个虚拟核的分配;
[0038本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理单元,包括:取指令单元,用于从所述处理单元外部的存储器取回计算机指令;指令译码单元,用于对取回的计算机指令进行译码;指令执行单元,用于执行译码后的所述计算机指令,以实现:基于译码后的多个深度网络模型指令和编译参数指令生成加速单元模型指令和执行计划,所述执行计划反映了各加速单元模型指令的执行顺序和各加速单元模型指令向多个虚拟核的分配;获取译码后的推理命令用的加速单元模型指令和执行计划,获取加速单元中物理核的负载状况,根据所述负载状况进行所述虚拟核到物理核的映射,按照所述执行计划和所述映射将加速单元模型指令加载到物理核。2.根据权利要求1所述的处理单元,其中,所述编译参数指令至少包括要使用的核数量、所述多个深度网络模型的依赖关系;所述基于所述多个深度网络模型指令和编译参数指令生成加速单元模型指令和执行计划,包括:生成各深度网络模型指令对应的加速单元模型指令;根据所述依赖关系和所述要使用的核数量,确定所述多个深度网络模型的执行批次;根据同一批次的深度网络模型的存储占用量和计算量,将同一批次的深度网络模型向所述多个虚拟核分配;根据确定的所述多个深度网络模型的执行批次和同一批次的深度网络模型向所述多个虚拟核的分配,生成所述执行计划。3.根据权利要求2所述的处理单元,其中,所述根据同一批次的深度网络模型的存储占用量和计算量,将同一批次的深度网络模型向所述多个虚拟核分配,包括:根据深度网络模型指令,确定深度网络模型的权重存储占用量;根据深度网络模型指令,确定深度网络模型的输入张量、中间张量、输出张量的张量存储占用量;根据深度网络模型指令,确定深度网络模型的计算量;按照所述深度网络模型的权重存储占用量和张量存储占用量的总和、以及所述深度网络模型的计算量,将同一批次的深度网络模型向所述多个虚拟核分配。4.根据权利要求3所述的处理单元,其中,所述按照所述深度网络模型的权重存储占用量和张量存储占用量的总和、以及所述深度网络模型的计算量,将同一批次的深度网络模型向所述多个虚拟核分配,是按照所述总和在分配的虚拟核上均衡、所述计算量在分配的虚拟核上均衡的方式进行的。5.根据权利要求1所述的处理单元,其中,所述基于译码后的多个深度网络模型指令和编译参数指令生成加速单元模型指令和执行计划,是响应于接收到译码后的多个深度网络模型指令和编译参数指令执行的,生成的加速单元模型指令和执行计划存储到所述处理单元之外的存储器;所述译码后的推理命令用的加速单元模型指令和执行计划是响应于接收到译码后的推理命令而从所述存储器获取的。6.根据权利要求1所述的处理单元,其中,所述基于译码后的多个深度网络模型指令和
编译参数指令生成加速单元模型指令和执行计划,是响应于同时接收到译码后的多个深度网络模型指令、编译参数指令和推理命令执行的。7.根据权利要求1所述的处理单元,其中,如果所述执行计划中,为所述加速单元模型指令分配了M个虚拟核,所述根据所述负载状况进行所述虚拟核到物理核的映射,包括:选取所述负载状况最小的M个物理核,作为所述加速单元模型指令加载到的物理核。8.根据权利要求1所述的处理单元,其中,在按照所述执行计划和所述映射将加速单元模型指令加载到物理核之后,所述指令执行单元执行译码后的所述计算机指令,以实现:按照所述执行计划和所述映射将所述推理命令用的输入张量加载到物理核;从物理核接收所述物理核根据所述输入张量、和加速单元模型指令中的权重运算出的运算结果。9.一种处理单元,包括:取指令单元,用于从所述处理单元外部的存储器取回计算机指令;指令译码单元,用于对取回的计算机指令进行译码;指令执行单元,用于执行译码后的所述计算机指令,以基于译码后的多个深度网络模型指令和编译参数指令生成加速单元模型指令和执行计划,所述执行计划反映了各加速单元模型指令的执行顺序和各加速单元模型指令的向多个虚拟核的分配。10.根据权利要求9所述的处理单元,其中,所述编译参数指令至少包括要使用的核数量、所述多个深度网络模型的依赖关系;所述基于所述多个深度网络模型指令和编译参数指令生成加速单元模型指令和执行计划,包括:生成各深度网络模型指令对应的加速单元模型指令;根据所述依赖关系和所述要使用的核数量,确定所述多个深度网络模型...

【专利技术属性】
技术研发人员:周永权何军杨昭毛钧赵亮宰小涛尹莉赵晓辉
申请(专利权)人:平头哥上海半导体技术有限公司
类型:发明
国别省市:

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

1