一种卷积计算中资源共享的方法、装置、介质及设备制造方法及图纸

技术编号:37053179 阅读:18 留言:0更新日期:2023-03-29 19:30
本公开实施例提供的一种基于卷积计算中资源共享的方法、装置、存储介质及电子设备,将任务拆分到不同的处理核中进行卷积计算,降低了对芯片的片内存储空间的消耗,同时,针对不同场景下存在Input Tensor和Weight共享的情况,进一步进行优化,根据不同的共享维度采用对应的拆分方式对输入数据进行拆分,节省处理核的存储空间,提高了数据传输效率,提高了计算单元的并发度,进而提高计算性能。进而提高计算性能。进而提高计算性能。

【技术实现步骤摘要】
一种卷积计算中资源共享的方法、装置、介质及设备


[0001]本公开实施例涉及数据处理领域,具体地涉及一种卷积计算中资源共享的方法、装置、介质及设备。

技术介绍

[0002]随着人工智能与深度学习技术的不断发展和普及,应用场景的不断增多,输入数据如图像、雷达、音频等,所占用的内存空间越来越大。但是芯片的片内存储空间有限,一个处理核中的缓存体量已难以存放所有数据。由此,如何优化内存的使用已成为亟待解决的问题。

技术实现思路

[0003]针对现有技术存在的上述问题,本专利技术的目的在于提供一种卷积计算中资源共享的方法、装置、介质及设备,以便于至少部分地解决上述问题。
[0004]根据本公开的一个方面,提出一种卷积计算中资源共享的方法,包括:步骤S1,计算任务拆分成多个可执行的子任务,其中所述子任务以三维坐标Taskid(X,Y,Z)方式表示计算的切分,步骤S2:基于计算任务将输入数据按照预设维度拆分成对应的多个输入子数据,步骤S3:神经网络加速器根据子任务加载所述子数据及权重,并计算得到输出子数据,其中,基于子任务之间对输入数据和权重在所述子任务不同维度的共享情况,对所述输入数据拆分,步骤S4:输出对应的输出子数据。
[0005]在一些实施例中,所述多个可执行子任务以轮询的方式发送至多个所述神经网络加速器,每个所述神经网络加速器可处理多组所述子任务。
[0006]在一些实施例中,所述神经网络加速器具体为张量处理器。
[0007]在一些实施例中,所述子任务具有编号,神经网络加速器基于所述子任务的编号加载对应的输入数据和卷积核,并基于所述子任务的编号输出对应的输出子数据。
[0008]在一些实施例中,所述基于子任务之间对输入数据和权重在所述子任务不同维度的共享情况,对所述输入数据拆分,具体为,对每个输入数据设置对应所述子任务3个维度的Flag(ShardX,SharedY,SharedZ),当SharedX使能且SharedY,SharedZ不使能时,表示输入数据基于Task的Y,Z维度进行拆分,子任务在X维度上共享,当SharedY使能且SharedX,SharedZ不使能时,表示输入数据基于Task的X,Z维度进行划分,子任务在Y维度上共享,当SharedZ使能且SharedX,SharedY不使能时,表示输入数据基于Task的X,Y维度
进行划分,子任务在Z维度上共享。
[0009]在一些实施例中,SharedX、SharedY或SharedZ任意两个可组合同时使能,或三者同时使能。
[0010]在一些实施例中,基于任务的大小对任务的不同维度分配对应的存储资源。
[0011]根据本公开的另一个方面,提出一种卷积计算中资源共享的装置,包括:任务拆分模块,用于将计算任务拆分成多个可执行的子任务,其中所述子任务以三维坐标Task(X,Y,Z)方式表示计算的切分,数据拆分模块,用于基于计算任务将输入数据按照预设维度拆分成对应的多个输入子数据,计算模块,用于神经网络加速器根据子任务加载所述子数据及卷积核,并计算得到输出子数据,其中,基于子任务之间对输入数据和权重在所述子任务不同维度的共享情况,对所述输入数据拆分,输出模块,用于输出对应的输出子数据。
[0012]本申请实施例还提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例所述的卷积计算中资源共享的方法中的步骤。
[0013]本公开实施例提供的一种基于卷积计算中资源共享的方法、装置、存储介质及电子设备,将任务拆分到不同的处理核中进行卷积计算,降低了对芯片的片内存储空间的消耗,同时,针对不同场景下存在Input Tensor和Weight共享的情况,进一步进行优化,根据不同的共享维度采用对应的拆分方式对输入数据进行拆分,节省处理核的存储空间,提高了数据传输效率,提高了计算单元的并发度,进而提高计算性能。
附图说明
[0014]图1为本申请实施例提供的卷积计算中资源共享的方法示意图。
[0015]图2为本申请实施例提供的计算任务切分示意图。
[0016]图3为本申请实施例提供的计算任务表达计算的切分示意图。
[0017]图4为本申请实施例提供的基于不同共享维度数据拆分示意图。
[0018]图5为本申请实施例提供的卷积计算中资源共享的装置示意图。
[0019]图6为本申请实施例提供的电子设备的结构示意图。
具体实施方式
[0020]下面结合附图对本专利技术的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本专利技术,但并不构成对本专利技术的限定。此外,下面所描述的本专利技术各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
[0021]需要说明的是,在本专利技术的描述中,术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示对本专利技术结构的说明,仅是为了便于描述本专利技术的简便,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。
Tensor和Weight共享的情况。根据共享的具体情况,本公开设置共享掩模(ShareMask),具体地,对于每个输入数据定义了3个Flag(SharedX,SharedY,SharedZ),分别表示输入数据在三个维度(X,Y,Z)上是否为Task之间共享。
[0032]示例性的,当SharedX使能且SharedY,SharedZ不使能时,表示数据依据Task的Y,Z维度进行划分,在X维度上共享。每个Task在X维度共享,X维度资源范围为0~w,当SharedY使能且SharedX,SharedZ不使能时,表示数据依据Task的X,Z维度进行划分,在Y维度上共享。每个Task在Y维度共享,Y维度资源范围为0~h,当SharedZ使能且SharedX,SharedY不使能时,表示数据依据Task的X,Y维度进行划分,在Z维度上共享。每个Task在Z维度共享,Z维度资源范围为0~c。其中,w、h、c均为大于0的自然数。
[0033]可以理解的是,SharedX,SharedY,SharedZ之间可以任意进行使能组合,例如SharedX和SharedY同时使能或SharedX、SharedY和SharedZ三者同时使能。
[0034]在不同维度共享时,不同task所需要的对应资源是共享的,共享维度对应的资源是同一份,节约了NPU或TPU等处理器的存储空间。同时提高了数据传输效率与执行单元的并发度。
[0035]示例性地,例如Tensor A size: h=8, w=16, c=32;Weight B size: r=1, s=1, c=32,n(ocl)=64,;卷积计算后,计算结果C size: h=8, w=16, c=64;以共享Z维度(c方向)为例,可以理解的是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种卷积计算中资源共享的方法,其特征在于,包括:步骤S1,计算任务拆分成多个可执行的子任务,其中所述子任务以三维坐标Taskid(X,Y,Z)方式表示计算的切分,步骤S2:基于计算任务将输入数据按照预设维度拆分成对应的多个输入子数据,步骤S3:神经网络加速器根据子任务加载所述子数据及权重,并计算得到输出子数据,其中,基于子任务之间对输入数据和权重在所述子任务不同维度的共享情况,对所述输入数据拆分,步骤S4:输出对应的输出子数据,所述基于子任务之间对输入数据和权重在所述子任务不同维度的共享情况,对所述输入数据拆分,具体为,对每个输入数据设置对应所述子任务3个维度的Flag(ShardX,SharedY,SharedZ),当SharedX使能且SharedY,SharedZ不使能时,表示输入数据基于Task的Y,Z维度进行拆分,子任务在X维度上共享,当SharedY使能且SharedX,SharedZ不使能时,表示输入数据基于Task的X,Z维度进行划分,子任务在Y维度上共享,当SharedZ使能且SharedX,SharedY不使能时,表示输入数据基于Task的X,Y维度进行划分,子任务在Z维度上共享。2.根据权利要求1所述的方法,其特征在于:所述多个可执行子任务以轮询的方式发送至多个所述神经网络加速器,每个所述神经网络加速器可处理多组所述子任务。3.根据权利要求1所述的方法,其特征在于:所述神经网络加速器具体为张量处理器。4.根据权利要求1所述的方法,其特征在于:所述子任务具有编号,神经网络加速器基于所述子任务的编号加载对应的输入数据和卷积核,并基于所述子任务的编号输出对应的输出子数据。5.根据权利要求1所述的方法,其特征在于:SharedX、SharedY或SharedZ任意两个可组合同时使能,或三者同...

【专利技术属性】
技术研发人员:赖斯龑张迪
申请(专利权)人:芯砺智能科技上海有限公司
类型:发明
国别省市:

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

1