任务处理芯片、方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:31504976 阅读:20 留言:0更新日期:2021-12-22 23:34
本公开提供了一种任务处理芯片、方法、装置、计算机设备及存储介质,其中,该方法包括:响应于第一计算单元组中并行执行的任一第一计算单元完成计算任务,将与该第一计算单元对应的状态值更新为目标状态值;响应于所述第一计算单元组中各第一计算单元对应的状态值均为所述目标状态值,控制与所述第一计算单元组对应的顺序执行的第二计算单元组执行对应的计算任务。计算任务。计算任务。

【技术实现步骤摘要】
任务处理芯片、方法、装置、计算机设备及存储介质


[0001]本公开涉及计算机
,具体而言,涉及一种任务处理芯片、方法、装置、计算机设备及存储介质。

技术介绍

[0002]随着深度学习模型的不断发展,模型规模越来越大,模型参数越来越多。同时,用于训练模型的数据也越来越庞大,使得利用并行运算缩短神经网络训练时间成为了必然的选择。
[0003]在对神经网络进行训练时,对于可以并行的计算任务,需要等待所有并行计算全部完成后,才能转入下一步计算,这就带来了并行运算的同步问题。所谓同步,即需要建立一种机制,使得下一步计算知道上一步的计算已经全部完成,如何解决神经网络训练中并行运算的同步问题,以提高神经网络训练效率成为了相关
内亟待解决的问题。

技术实现思路

[0004]本公开实施例至少提供一种任务处理芯片、方法、装置、计算机设备及存储介质。
[0005]第一方面,本公开实施例提供了一种任务处理芯片,包括:第一计算单元组和第二计算单元组;
[0006]其中,所述第一计算单元组包括多个并行执行的第一计算单元,所述第二计算单元组包括多个并行执行的第二计算单元;
[0007]所述第一计算单元组和所述第二计算单元组用于执行如下步骤:
[0008]响应于第一计算单元组中并行执行的任一第一计算单元完成计算任务,将与该第一计算单元对应的状态值更新为目标状态值;
[0009]响应于所述第一计算单元组中各第一计算单元对应的状态值均为所述目标状态值,控制与所述第一计算单元组对应的顺序执行的第二计算单元组执行对应的计算任务。
[0010]这里,通过响应于第一计算单元组中并行执行的任一第一计算单元完成计算任务,将与该第一计算单元对应的状态值更新为目标状态值;响应于所述第一计算单元组中各第一计算单元对应的状态值均为所述目标状态值,控制与所述第一计算单元组对应的顺序执行的第二计算单元组执行对应的计算任务。这样,通过确定第一计算单元组中各计算单元对应的状态值,即可直接确定第一计算单元组中各第一计算单元的计算状态,当基于状态值确定第一计算单元组中所有第一计算单元均完成任务后,再控制第二计算单元组开始并行计算,从而有效的解决了并行运算中的同步问题。
[0011]一种可能的实施方式中,所述控制与所述第一计算单元组对应的顺序执行的第二计算单元组执行对应的计算任务,包括:
[0012]确定所述第一计算单元组中各第一计算单元的计算结果;
[0013]控制所述第二计算单元组中各第二计算单元对所述计算结果进行并行运算。
[0014]一种可能的实施方式中,所述将与该第一计算单元对应的状态值更新为目标状态
值,包括:
[0015]确定与所述第一计算单元组对应的目标寄存器;
[0016]将所述目标寄存器中,与该第一计算单元对应的数据存储位的状态值更新为所述目标状态值。
[0017]这样,通过读取计算单元组对应的寄存器中存放的各个计算单元的状态值确定各个计算单元是否完成计算任务,可以更为快速的确定计算单元组中各个计算单元的计算状态。
[0018]一种可能的实施方式中,所述方法还包括,根据以下方法确定所述第一计算单元组中各第一计算单元对应的状态值是否均为所述目标状态值:
[0019]每隔预设时间间隔,读取所述目标寄存器的状态值;
[0020]基于读取的状态值,确定所述第一计算单元组中各第一计算单元对应的状态值是否均为所述目标状态值;或者
[0021]将所述目标寄存器中存储的状态值输入至与运算器;
[0022]基于所述与运算器的输出结果,确定所述第一计算单元组中各第一计算单元对应的状态值是否均为所述目标状态值。
[0023]一种可能的实施方式中,根据以下方法确定计算单元组:
[0024]将并行执行神经网络训练任务的多个线程分别对应的计算单元,确定为一个计算单元组。
[0025]这样,可以根据神经网络在训练时部分计算任务可以并行执行的特点,对处理器的计算单元进行针对性的划分,使得划分的计算单元能够适应神经网络训练任务在执行时,部分计算任务可以并行执行的特点,以便提高神经网络的训练效率。
[0026]第二方面,本公开实施例提供了一种任务处理方法,包括:
[0027]响应于第一计算单元组中并行执行的任一第一计算单元完成计算任务,将与该第一计算单元对应的状态值更新为目标状态值;
[0028]响应于所述第一计算单元组中各第一计算单元对应的状态值均为所述目标状态值,控制与所述第一计算单元组对应的顺序执行的第二计算单元组执行对应的计算任务。
[0029]第三方面,本公开实施例还提供一种任务处理装置,包括:
[0030]更新模块,用于响应于第一计算单元组中并行执行的任一第一计算单元完成计算任务,将与该第一计算单元对应的状态值更新为目标状态值;
[0031]控制模块,用于响应于所述第一计算单元组中各第一计算单元对应的状态值均为所述目标状态值,控制与所述第一计算单元组对应的顺序执行的第二计算单元组执行对应的计算任务。
[0032]一种可能的实施方式中,所述控制模块,在控制与所述第一计算单元组对应的顺序执行的第二计算单元组执行对应的计算任务时,用于:
[0033]确定所述第一计算单元组中各第一计算单元的计算结果;
[0034]控制所述第二计算单元组中各第二计算单元对所述计算结果进行并行运算。
[0035]一种可能的实施方式中,所述更新模块,在将与该第一计算单元对应的状态值更新为目标状态值时,用于:
[0036]确定与所述第一计算单元组对应的目标寄存器;
[0037]将所述目标寄存器中,与该第一计算单元对应的数据存储位的状态值更新为所述目标状态值。
[0038]一种可能的实施方式中,所述控制模块,还用于根据以下方法确定所述第一计算单元组中各第一计算单元对应的状态值是否均为所述目标状态值:
[0039]每隔预设时间间隔,读取所述目标寄存器的状态值;
[0040]基于读取的状态值,确定所述第一计算单元组中各第一计算单元对应的状态值是否均为所述目标状态值。
[0041]一种可能的实施方式中,所述控制模块,还用于根据以下方法确定所述第一计算单元组中各第一计算单元对应的状态值是否均为所述目标状态值:
[0042]将所述目标寄存器中存储的状态值输入至与运算器;
[0043]基于所述与运算器的输出结果,确定所述第一计算单元组中各第一计算单元对应的状态值是否均为所述目标状态值。
[0044]一种可能的实施方式中,所述控制模块用于,根据以下方法确定计算单元组:
[0045]将并行执行神经网络训练任务的多个线程分别对应的计算单元,确定为一个计算单元组。
[0046]第四方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务处理芯片,其特征在于,包括:第一计算单元组和第二计算单元组;其中,所述第一计算单元组包括多个并行执行的第一计算单元,所述第二计算单元组包括多个并行执行的第二计算单元;所述第一计算单元组和所述第二计算单元组用于执行如下步骤:响应于第一计算单元组中并行执行的任一第一计算单元完成计算任务,将与该第一计算单元对应的状态值更新为目标状态值;响应于所述第一计算单元组中各第一计算单元对应的状态值均为所述目标状态值,控制与所述第一计算单元组对应的顺序执行的第二计算单元组执行对应的计算任务。2.根据权利要求1所述的任务处理芯片,其特征在于,所述控制与所述第一计算单元组对应的顺序执行的第二计算单元组执行对应的计算任务,包括:确定所述第一计算单元组中各第一计算单元的计算结果;控制所述第二计算单元组中各第二计算单元对所述计算结果进行并行运算。3.根据权利要求1或2所述的任务处理芯片,其特征在于,所述将与该第一计算单元对应的状态值更新为目标状态值,包括:确定与所述第一计算单元组对应的目标寄存器;将所述目标寄存器中,与该第一计算单元对应的数据存储位的状态值更新为所述目标状态值。4.根据权利要求3所述的任务处理芯片,其特征在于,所述任务处理芯片还用于,根据以下方法确定所述第一计算单元组中各第一计算单元对应的状态值是否均为所述目标状态值:每隔预设时间间隔,读取所述目标寄存器的状态值;基于读取的状态值,确定所述第一计算单元组中各第一计算单元对应的状态值是否均为所述目标状态值;或者将所述目标寄存器中存储的状态值输入至与运算器;基于所述与运算器的输出结果,确定所述第一计算单元组中各第一计算单元对应的状态值是否均为所述目标状态值。5.根据权利要求1~4任一所...

【专利技术属性】
技术研发人员:丁雨
申请(专利权)人:上海商汤阡誓科技有限公司
类型:发明
国别省市:

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

1