数据处理装置、方法、电子设备和存储介质制造方法及图纸

技术编号:37845680 阅读:9 留言:0更新日期:2023-06-14 22:29
本公开提供了一种数据处理装置,涉及人工智能技术领域,尤其涉及芯片技术领域和多线程并行技术领域。该装置包括:第一目标存储单元;以及处理器,配置为:响应于确定目标数据的数据量小于或等于第一目标存储单元的容量,根据目标数据的数据量和第一目标存储单元的容量,确定初始线程数目,其中,目标数据包括待处理输入数据、待处理权重数据和输出数据;以及响应于确定初始线程数目大于或等于预设线程数目,根据初始线程数目,确定第一可执行任务数目。本公开还提供了一种数据处理方法、电子设备和存储介质。备和存储介质。备和存储介质。

【技术实现步骤摘要】
数据处理装置、方法、电子设备和存储介质


[0001]本公开涉及人工智能
,尤其涉及芯片
和多线程并行
更具体地,本公开提供了一种数据处理装置、方法、电子设备和存储介质。

技术介绍

[0002]随着人工智能技术的发展,可以并行地执行模型推理或模型训练任务。

技术实现思路

[0003]本公开提供了一种数据处理装置、方法、设备以及存储介质。
[0004]根据本公开的一方面,提供了一种数据处理装置,该装置包括:第一目标存储单元;以及处理器,配置为:响应于确定目标数据的数据量小于或等于第一目标存储单元的容量,根据目标数据的数据量和第一目标存储单元的容量,确定初始线程数目,其中,目标数据包括待处理输入数据、待处理权重数据和输出数据;以及响应于确定初始线程数目大于或等于预设线程数目,根据初始线程数目,确定第一可执行任务数目。
[0005]根据本公开的另一方面,提供了一种数据处理方法,该方法包括:响应于确定目标数据的数据量小于或等于第一目标存储单元的容量,根据目标数据的数据量和第一目标存储单元的容量,确定初始线程数目,其中,目标数据包括待处理输入数据、待处理权重数据和输出数据;以及响应于确定初始线程数目大于或等于预设线程数目,根据初始线程数目,确定第一可执行任务数目。
[0006]根据本公开的另一方面,提供了一种电子设备,包括本公开提供的电子设备。
[0007]根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
[0008]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
[0009]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现根据本公开提供的方法。
[0010]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0011]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0012]图1是根据本公开的一个实施例的数据处理装置示意框图;
[0013]图2是根据本公开的一个实施例的数据处理装置的原理图;
[0014]图3是根据本公开的一个实施例的数据处理方法的流程图;
[0015]图4是根据本公开的一个实施例的电子设备的示意框图;以及
[0016]图5是根据本公开的一个实施例的可以应用数据处理方法的电子设备的框图。
具体实施方式
[0017]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0018]在利用深度学习模型进行推理的过程中,基于有环无向图(Direction Asyclic Grap,DAG)的任务映射策略,可以将模型推理任务划分为多个子任务。可以将不同的子任务设置于不同的任务队列中,以并行地执行该多个子任务。在多个子任务执行完成之后,可以得到模型推理任务的执行结果。
[0019]可以利用包括中央处理器(Central Processing Unit,CPU)和图形处理器(Graphic Processing Unit,GPU)的异构硬件平台来执行模型推理任务。根据不同任务的执行关系信息,可以确定有环无向图,以便将图形处理器的并行处理能力与有环无向图结合,以便提高异构设备的使用效率。例如,模型推理任务包括大量的矩阵运算。图形处理单元可以显著地降低矩阵计算的时间,可以提高模型推理任务的执行效率。
[0020]可以基于不同数据之间的依赖关系来调度异构硬件平台的资源。然而,对于异构硬件平台,难以对模型推理任务进行更细粒度的拆分。例如,难以有效地对大规模批次(batchsize)的数据进行有效的处理。
[0021]在异构硬件平台中,中央处理器可以作为主机(host)端,图形处理器可以作为设备(device)端。可以将数据从主机端传输至设备端。例如,可以将数据分别传输给设备端的多个图形处理器核,以利用图形处理器实现矩阵计算的并行加速。图形处理器可以包括不同级别的高速动态随机存储内存(DRAM)。例如,图像处理器可以包括第0级高速动态随机存储内存(L0)、第1级高速动态随机存储内存(L1)、第2级高速动态随机存储内存(L2)、第3级高速动态随机存储内存(L3)和第4级高速动态随机存储内存(L4)。第4级高速动态随机存储内存的容量最大。所有的处理器核均可以从第4级高速动态随机存储内存读写数据。第0级高速动态随机存储内存至第2级高速动态随机存储内存的容量较小,难以存储深度学习模型的权重数据或输入数据。
[0022]第3级高速动态随机存储内存的带宽例如可以是第4级高速动态随机存储内存的两倍。为了充分利用第3级高速动态随机存储内存的容量和带宽,本公开提供了一种数据处理装置,下面将进行说明。
[0023]图1是根据本公开一个实施例的数据处理装置的示意框图。
[0024]如图1所示,数据处理装置100可以包括第一目标存储单元110和处理器120。
[0025]第一目标存储单元110,可以是第3级高速动态随机存储内存。
[0026]处理器120,可以配置为:响应于确定目标数据的数据量小于或等于第一目标存储单元的容量,根据目标数据的数据量和第一目标存储单元的容量,确定初始线程数目。响应于确定初始线程数目大于或等于预设线程数目,根据初始线程数目,确定第一可执行任务数目。
[0027]在本公开实施例中,处理器可以包括多个处理器核。处理器可以是图形处理器、神
经网络处理器(Neural network Processing Unit,NPU)等处理器中的至少一种。
[0028]在本公开实施例中,目标数据包括待处理输入数据、待处理权重数据和输出数据。例如,待处理输入数据可以是深度学习模型的输入数据。待处理权重数据可以包括深度学习模型的多个算子各自的权重数据。输出数据可以包括深度学习模型的输出数据。
[0029]在本公开实施例中,可以确定目标数据的数据量是否小于或等于第一目标存储单元的容量。例如,以目标数据的数据量是16兆字节(Mbyte)为示例。第一目标存储单元的容量可以为64兆字节。可以确定目标数据的数据量小于第一目标存储单元的容量。接下来,可以根据目标数据的数据量和第一目标存储单元的容量,确定初始线程数目为4。即,第一存储单元可以存储4个目标数据。
[0030]在本公本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理装置,包括:第一目标存储单元;以及处理器,配置为:响应于确定目标数据的数据量小于或等于所述第一目标存储单元的容量,根据所述目标数据的数据量和所述第一目标存储单元的容量,确定初始线程数目,其中,所述目标数据包括待处理输入数据、待处理权重数据和输出数据;以及响应于确定所述初始线程数目大于或等于预设线程数目,根据所述初始线程数目,确定第一可执行任务数目。2.根据权利要求1所述的装置,其中,所述处理器还配置为:将所述第一可执行任务数目个待处理数据写入所述第一目标存储单元,其中,所述待处理数据包括所述待处理输入数据和所述待处理权重数据;并行地执行所述第一可执行任务数目个任务,得到所述第一可执行任务数目个所述输出数据,其中,所述任务包括:利用所述待处理权重数据处理所述待处理输入数据;以及将所述第一可执行数目个所述输出数据写入所述第一目标存储单元。3.根据权利要求1所述的装置,还包括:第二目标存储单元,所述第二目标存储单元的容量大于所述第一目标存储单元的容量。4.根据权利要求3所述的装置,其中,所述处理器还配置为:响应于确定所述初始线程数目等于预设线程数目,根据所述处理器处理所述目标数据所需的资源量,确定第一任务数目;以及根据所述第一任务数目和所述初始线程数目,确定第二可执行任务数目。5.根据权利要求4所述的装置,其中,所述处理器还配置为:将所述初始线程数目个待处理数据写入所述第一目标存储单元,其中,所述待处理数据包括所述待处理输入数据和所述待处理权重数据;将所述第一任务数目个所述待处理数据写入所述第二目标存储单元;并行地执行所述第二可执行任务数目个任务,得到所述第二可执行任务数目个所述输出数据,其中,所述任务包括:利用所述待处理权重数据处理所述待处理输入数据;将所述初始线程数目个所述输出数据写入所述第一目标存储单元;以及将所述第一任务数目个所述输出数据写入所述第二目标存储单元。6.根据权利要求3所述的装置,其中,所述处理器还配置为:响应于确定所述目标数据的数据量大于所述第一目标存储单元的容量,根据所述处理器处理所述目标数据所需的资源量,确定第三可执行任务数目。7.根据权利要求6所述的装置,其中,所述处理器还配置为:将所述第三可执行任务数目个待处理数据写入所述第二目标存储单元,其中,所述待处理数据包括所述待处理输入数据和所述待处理权重数据;并行地执行所述第三可执行任务数目个任务,得到所述第三可执行任务数目个所述输出数据,其中,所述任务包括:利用所述待处理权重数据处理所述待处理输入数据;以及将所述第三可执行数目个所述输出数据写入所述第二目标存储单元。8.根据权利要求3所述的装置,其中,所述处理器还配置为:响应于确定所述待处理输入数据和所述输出数据的数据量之和大于所述第一目标存
储单元的容量,将所述待处理输入数据拆分为多个待处理子输入数据;以及根据所述处理器处理所述待处理子输入数据所需的资源量,确定第四可执行任务数目。9.根据权利要求8所述的装置,其中,所述处理器配置为:将所述待处理权重数据和所述第四可执行任务数目个所述待处理子输入数据写入所述第二目标存储单元;并行地执行所述第四可执行任务数目个任务,得到所述第四可执行任务数目个所述输出子数据,其中,所述任务包括:利用所述待处理权重数据处理所述待处理子输入数据;将所述第四可执行数目个所述输出子数据写入所述第二目标存储单元;以及将多个所述输出子数据拼接为输出数据。10.一种数据处理方法,包括:响应于确定目标数据的数据量小于或等于第一目标存储单元的容量,根据所述目标数据的数据量和所述第一目标存储单元的容量,确定初始线程数目,其中,所述目标数据包括待处理输入数据、待处理权重数据和...

【专利技术属性】
技术研发人员:李润泽朱时煜周保玉
申请(专利权)人:昆仑芯北京科技有限公司
类型:发明
国别省市:

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

1