任务分配方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:30530616 阅读:12 留言:0更新日期:2021-10-30 12:29
本公开实施例公开了一种任务分配方法、装置、电子设备和计算机可读存储介质。其中该任务分配方法包括:响应于接收到同步信号,所述主处理核执行任务更新指令以获取待执行的任务段;待执行任务的处理核接收所述待执行的任务段,其中所述待执行任务的处理核包括所述主处理核和/或所述从处理核;所述待执行任务的处理核执行所述待执行的任务段;响应于执行完所述待执行的任务段,所述待执行任务的处理核发送同步请求信号,其中所述同步请求信号用于触发生成所述同步信号。通过上述方法中芯片中的主处理核根据同步信号来分配处理核所执行的任务段,解决了现有技术中的处理核的任务分配不灵活、控制复杂的技术问题技术问题。控制复杂的技术问题技术问题。控制复杂的技术问题技术问题。

【技术实现步骤摘要】
任务分配方法、装置、电子设备及计算机可读存储介质


[0001]本公开涉及处理器领域,尤其涉及一种任务分配方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]随着科学技术的发展,人类社会正在快速进入智能时代。智能时代的重要特点,就是人们获得数据的种类越来越多,获得数据的量越来越大,而对处理数据的速度要求越来越高。芯片是任务分配的基石,它从根本上决定了人们处理数据的能力。从应用领域来看,芯片主要有两条路线:一条是通用芯片路线,例如CPU等,它们能提供极大的灵活性,但是在处理特定领域算法时有效算力比较低;另一条是专用芯片路线,例如TPU等,它们在某些特定领域,能发挥较高的有效算力,但是面对灵活多变的比较通用的领域,它们处理能力比较差甚至无法处理。由于智能时代的数据种类繁多且数量巨大,所以要求芯片既具有极高的灵活性,能处理不同领域且日新月异的算法,又具有极强的处理能力,能快速处理极大的且急剧增长的数据量。
[0003]在神经网络计算中,经常会用到多核或者众核的芯片。如何让众多的处理核能够高效率的发挥算力,是决定整个芯片性能的关键。各处理核的算力发挥,取决于多种因素,例如任务的调度与分配、芯片的架构、处理核的结构、处理核的电路等。其中任务的调度与分配是一个非常关键的因素,如果任务的调度与分配合理,则能充分发挥各处理核的有效算力。
[0004]现有技术中一般使用以下两种方案来进行处理核任务的调度:
[0005]如图1a所示为使用调度器进行任务分配的方案。在该方案中,调度器接收到来自于指令源的指令,然后将指令按一定的策略,如按照顺序将指令传输给各处理核,各处理核执行相同的指令,但是处理不同的数据。各处理核可以是比较简单的结构,例如共用控制电路和寄存器的SIMD(Single Instruction Multiple Data,单指令多数据结构),也可以是比较复杂有一定的自主性的结构,例如有独立的控制电路和寄存器等的SIMT(Single Instruction Multiple Threads,单指令多线程)。但是该方案中,调度器只能被动的从外部指令源接收指令,再分配给各处理核,功能单一,且缺乏灵活性;而无论是SIMD结构还是SIMT结构,各处理核只能执行相同的指令,各处理核的自由度小,控制简单。
[0006]如图1b所示为处理核独立执行任务的方案。在该方案中,各处理核能够从存储器中独立读取指令,进行运算;各处理核具有完整的控制电路、寄存器组等电路。而对于这种方案,各处理核难以互相配合高效的完成一个完整的任务;电路控制复杂,每一个核都几乎是一个完整的CPU,设计难度大,且功耗和面积大;多处理核可能频繁访问指令存储区,引起存储访问效率的下降,进而影响芯片算力的发挥。

技术实现思路

[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]进一步的,所述主处理核还用于:执行任务更新指令以发送任务段获取指令到存储管理器;所述存储管理器用于执行所述任务段获取指令以将所述待执行的任务段从外部存储器中读出并发送至所述待执行任本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务分配方法,用于芯片中,所述芯片包括主处理核和至少一个从处理核,其特征在于,所述方法包括:响应于接收到同步信号,所述主处理核执行任务更新指令以获取待执行的任务段,所述待执行的任务段为所述任务的一部分;待执行任务的处理核接收所述待执行的任务段,其中所述待执行任务的处理核包括所述主处理核和/或所述从处理核;所述待执行任务的处理核执行所述待执行的任务段;响应于执行完所述待执行的任务段,所述待执行任务的处理核发送同步请求信号,其中所述同步请求信号用于触发生成所述同步信号。2.如权利要求1所述的任务分配方法,其中所述主处理核执行任务更新指令以获取待执行的任务段,包括:所述主处理核执行任务更新指令以发送任务段获取指令到存储管理器;所述存储管理器执行所述任务段获取指令以将所述待执行的任务段从外部存储器中读出并发送至所述主处理核和从处理核。3.如权利要求1或2所述的任务分配方法,其特征在于,所述方法还包括:所述待执行任务的处理核根据接收到的所述待执行的任务段发送数据获取指令;根据所述数据获取指令,所述待执行任务的处理核接收各自的输入数据。4.如权利要求3所述的任务分配方法,其中所述根据所述数据获取指令,所述待执行任务的处理核接收各自的输入数据,包括:将所述待执行任务的处理核的标识作为所述数据获取指令的参数以获取所述待执行任务的处理核的所述输入数据。5.如权利要求1-4中任一项所述的任务分配方法,其特征在于,所述同步请求信号用于触发生成所述同步信号,包括:响应于所述待执行任务的处理核都发送了所述同步请求信号,触发生成所述同步信号。6.如权利要求1-5中任一项所述...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:北京希姆计算科技有限公司
类型:发明
国别省市:

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

1