首页> 中国专利> 任务调度装置、任务调度方法、芯片、设备以及介质

任务调度装置、任务调度方法、芯片、设备以及介质

摘要

本公开提供了一种任务调度装置、任务调度方法、芯片、设备以及介质,其中,该方法包括:在获取到待处理任务之后,确定多个运算单元中每个所述运算单元的运行状态;基于所述运行状态在所述多个运算单元中查询处于空闲状态的至少一个第一运算单元;获取基于处于非空闲状态的第二运算单元的电量使用信息确定的第一运行参数值;在基于所述第一运行参数值确定所述第一运算单元满足任务调度要求的情况下,在所述待处理任务中为至少部分所述第一运算单元分配待执行任务;所述第一运行参数用于确定所述第一运算单元的可使用电量信息。

著录项

  • 公开/公告号CN114816705A

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 上海阵量智能科技有限公司;

    申请/专利号CN202210474685.8

  • 发明设计人 王勇;丁雨;谭艳超;

    申请日2022-04-29

  • 分类号G06F9/48;G06F9/50;

  • 代理机构北京中知恒瑞知识产权代理事务所(普通合伙);

  • 代理人袁忠林

  • 地址 200235 上海市徐汇区永嘉路698号518室

  • 入库时间 2023-06-19 16:09:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-29

    公开

    发明专利申请公布

说明书

技术领域

本公开涉及芯片技术领域,具体而言,涉及一种任务调度装置、任务调度方法、芯片、设备以及介质。

背景技术

目前,为了使集成芯片更好的完成训练任务,集成芯片中通常包含大量的运算单元,并具备较高的翻转率。在集成芯片的并行计算任务较多的情况下,集成芯片大量的运算单元会同时工作,并且由于集成芯片的高翻转率导致集成芯片在工作时需要较大的电流,进而使集成芯片容易出现过冲现象,当过冲现象严重时会引起集成芯片的功能失常。

相关技术中,一般通过在集成芯片封装大量电容来缓解集成芯片的过冲现象。然而,上述封装大量电容的方式往往会出现过度配置电容的现象,不仅提高了集成芯片的成本,而且浪费了大量的资源。

发明内容

本公开实施例至少提供一种任务调度装置、任务调度方法、芯片、设备以及介质。

第一方面,本公开实施例提供了一种任务调度装置,该任务调度装置包括:控制器,用于在获取到待处理任务之后,确定多个运算单元中每个所述运算单元的运行状态;以及基于所述运行状态在所述多个运算单元中查询处于空闲状态的至少一个第一运算单元;以及获取基于处于非空闲状态的第二运算单元的电量使用信息确定的第一运行参数值;调度器,用于在基于所述第一运行参数值确定所述第一运算单元满足任务调度要求的情况下,在所述待处理任务中为至少部分所述第一运算单元分配待执行任务;所述第一运行参数用于确定所述第一运算单元的可使用电量信息。

上述实施方式中,可以实现动态为第一运算单元分配待执行任务,避免芯片由于执行处理任务量过大出现过冲现象,进而可以保证执行任务的有效性,进一步提升芯片的使用寿命。

一种可选的实施方式中,所述任务调度装置还包括:第一计时器;所述第一计时器,用于在所述第一运算单元不满足所述任务调度要求的情况下,基于目标次数确定目标查询间隔;其中,所述目标次数用于指示获取到的所述第一运行参数值连续不满足所述任务调度要求的次数;所述控制器,还用于在经过所述目标查询间隔后,重新获取基于所述第二运算单元的电量使用信息确定的第二运行参数值;所述调度器,还用于在基于所述第二运行参数值确定所述第一运算单元满足所述任务调度要求的情况下,在所述待处理任务中为至少部分所述第一运算单元分配待执行任务。

一种可选的实施方式中,所述第一计时器还用于:获取预设步长信息,其中,所述预设步长信息用于指示获取所述第二运算单元的电量使用信息的时间间隔;基于所述目标次数确定所述预设步长信息的步长延长信息;基于所述步长延长信息延长所述预设步长信息,得到新步长信息,并将所述新步长信息确定为所述目标查询间隔。

上述实施方式中,调度器可以在第一运行参数值不满足任务调度要求的情况下,不再为处于空闲状态的运算单元分配待执行任务,从而可以避免芯片由于执行任务量过大引起过冲现象。此外,上述第一计时器可以基于目标次数确定目标查询间隔,控制器可以在经过目标查询间隔之后,重新获取基于第二运算单元的电量使用信息确定的第二运行参数值,调度器可以在基于第二运行参数值确定出第一运算单元满足任务调度要求的情况下,在待处理任务中为至少部分第一运算单元分配待执行任务,从而可以通过定时基于第二运算单元的电量使用信息确定第二运行参数,进而可以及时为至少部分第一运算单元分配待执行任务,从而可以保证尽快完成待处理任务,提高工作效率。

一种可选的实施方式中,所述第一计时器还用于:获取初始时间信息;基于所述目标次数确定所述初始时间信息的时间调整信息,其中,所述时间调整信息用于指示所述初始时间信息的时间调整方向和/或时间调整大小;基于所述时间调整信息对所述初始时间信息进行调整,得到所述步长延长信息。

上述实施方式中,第一计时器在获取初始时间信息之后,可以基于目标次数确定初始时间信息的时间调整信息,并基于时间调整信息对初始时间信息进行调整得到步长延长信息,从而可以基于目标次数动态调整得到的步长延长信息,进而得到更加合理有效的步长延长时间。

一种可选的实施方式中,所述控制器还用于:获取标识寄存器的寄存器数值;其中,所述标识寄存器中的寄存器数值用于指示各所述运算单元的运行状态;以及在所述寄存器数值中确定目标数值,并确定所述目标数值所对应的运算单元,其中,所述目标数值用于指示所述运算单元处于空闲状态;以及基于所述目标数值所对应的运算单元确定所述至少一个第一运算单元。

上述实施方式中,可以通过获取标识寄存器的寄存器数值,并通过在寄存器数值中确定至少一个第一运算单元的方式,可以简化在多个运算单元中查询得到至少一个第一运算单元的过程,从而可以提高查询效率。

一种可选的实施方式中,所述任务调度装置还包括:第二计时器;所述第二计时器,用于在基于所述运行状态确定所述多个运算单元中不包含处于空闲状态的第一运算单元的情况下,开始计时,并在所述第二计时器的计时时间为预设步长信息的情况下,触发所述控制器再次基于所述运行状态在所述多个运算单元中查询至少一个第一运算单元。

上述实施方式中,第二计时器可以在所有运算单元均处于非空闲状态的情况下,经过预设步长信息之后,再次查询第一运算,从而可以定时查询处于空闲状态的运算单元,从而可以及时查找到处于空闲状态的运算单元,以及时分配待执行任务,从而可以提高任务的执行效率。

一种可选的实施方式中,所述控制器还用于:获取目标传感器所采集到的目标参数值;以及基于所述目标参数值确定所述第二运算单元的电量使用信息;以及基于总供电量信息和所述电量使用信息确定所述第一运行参数值,其中,所述目标传感器用于检测各所述运算单元的运行参数。

上述实施方式中,控制器可以先获取目标传感器所采集到的目标参数值,并基于该目标参数值确定第二运算单元的第一运行参数值,通过该处理方式,可以提高各运算单元的运行参数的参数准确性,进而可以进一步保证各运算单元所执行的任务量不会过高,从而避免引起过冲现象。

一种可选的实施方式中,所述调度器,还用于:在所述第一运行参数值为电压值的情况下,以及在确定出所述电压值大于或者等于预设电压阈值的情况下,确定所述第一运算单元满足所述任务调度要求。

第二方面,本公开实施例提供了一种任务调度方法,该方法包括:在获取到待处理任务之后,确定多个运算单元中每个所述运算单元的运行状态;基于所述运行状态在所述多个运算单元中查询处于空闲状态的至少一个第一运算单元;获取基于处于非空闲状态的第二运算单元的电量使用信息确定的第一运行参数值;在基于所述第一运行参数值确定所述第一运算单元满足任务调度要求的情况下,在所述待处理任务中为至少部分所述第一运算单元分配待执行任务;所述第一运行参数用于确定所述第一运算单元的可使用电量信息。

第三方面,本公开实施例还提供一种芯片,其特征在于,包括如上述任一项所述的任务调度装置。

第四方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或者,执行上述第二方面的步骤。

第五方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或者,执行上述第二方面的步骤。

关于上述任务调度装置、电子设备、及计算机可读存储介质的效果描述参见上述任务调度方法的说明,这里不再赘述。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种任务调度方法的流程图;

图2示出了本公开实施例所提供的另一种任务调度方法的流程图;

图3示出了本公开实施例所提供的基于目标次数确定目标查询间隔方法的流程图;

图4示出了本公开实施例所提供的一种任务调度流程的示意图;

图5示出了本公开实施例所提供的一种任务调度装置的示意图;

图6示出了本公开实施例所提供的一种任务调度装置的示意图;

图7示出了本公开实施例所提供的一种电子设备的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。

经研究发现,相关技术中,一般通过在集成芯片封装大量电容来缓解集成芯片的过冲现象。然而,上述封装大量电容的方式往往会出现过度配置电容的现象,不仅提高了集成芯片的成本,而且浪费了大量的资源。

基于上述研究,本公开提供了一种任务调度装置、任务调度方法、芯片、设备以及介质。在本公开实施例中,控制器可以在获取到待处理任务之后,确定芯片所包含多个运算单元中每个运算单元的运行状态。之后,控制器可以基于该运行状态在该多个运算单元中查询至少一个第一运算单元。接着,控制器可以获取基于芯片中处于非空闲状态的第二运算单元的电量使用信息确定的第一运行参数值,此时,调度器可以在基于该第一运行参数值确定第一运算单元满足任务调度要求的情况下,在待处理任务中为至少部分第一运算单元分配待执行任务。

通过上述描述可知,本公开实施例可以通过获取第一运行参数值,并在基于第一运行参数值确定第一运算单元满足任务调度要求的情况下,为第一运算单元分配待执行任务,从而可以实现动态为第一运算单元分配待执行任务,避免芯片由于执行处理任务量过大出现过冲现象,进而可以保证执行任务的有效性,进一步提升芯片的使用寿命。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种任务调度方法进行详细介绍,本公开实施例所提供的任务调度方法的执行主体一般为具有一定计算能力的电子设备。

参见图1所示,为本公开实施例提供的一种任务调度方法的流程图,所述方法包括步骤S101~S105,其中:

S101:在获取到待处理任务之后,确定多个运算单元中每个所述运算单元的运行状态。

这里,待处理任务可以为模型的训练任务(例如,图像识别模型的训练任务),也可以为并行计算任务(例如,哈希运算任务),或者,其他的可利用芯片进行计算的任务,本公开对该待处理任务不作具体限定,以满足实际需要为准。这里,多个运算单元可以为任意芯片中的运算单元。

在本公开实施例中,运算单元的运行状态可以分为以下两种:一种是运算单元处于空闲状态,另一种是运算单元处于非空闲状态。其中,运算单元处于空闲状态可以理解为该运算单元未执行对应任务,运算单元处于非空闲状态可以理解为该运算单元正在执行对应任务,或者即将执行对应任务。

S103:基于所述运行状态在所述多个运算单元中查询处于空闲状态的至少一个第一运算单元。

在本公开实施例中,在获取到待处理任务之后,可以确定芯片所包含的多个运算单元中每个运算单元的运行状态。之后,可以在芯片所包含的多个运算单元中查询处于空闲状态的运算单元,并将该处于空闲状态的运算单元确定为第一运算单元。

这里,第一运算单元的个数可以为1个,也可以为多个,本公开对该第一运算单元的个数不作具体限定,以满足实际需要为准。

S105:获取基于处于非空闲状态的第二运算单元的电量使用信息确定的第一运行参数值。

在本公开实施例中,第二运算单元的电量使用信息可以理解为芯片中处于非空闲状态下的第二运算单元所消耗电量的总和。

在本公开实施例中,在获取芯片中处于非空闲状态的第二运算单元的电量使用信息之后,可以获取芯片为多个运算单元所分配的电量信息(即下述实施例中的总供电量信息),并基于该总供电量信息和电量使用信息确定上述第一运行参数值。

在本公开实施例中,第一运行参数值可以理解为芯片所提供的除第二运算单元所使用的总供电量信息之外剩余的电量信息。其中,该第一运行参数值可以为电压值,也可以为电流值,也可以为功率值,本公开对该第一运行参数值的类型不作具体限定,以能实现为准。

S107:在基于所述第一运行参数值确定所述第一运算单元满足任务调度要求的情况下,在所述待处理任务中为至少部分所述第一运算单元分配待执行任务;所述第一运行参数用于确定所述第一运算单元的可使用电量信息。

在本公开实施例中,任务调度要求可以理解为第一运算单元能够稳定执行对应任务时的最低电量要求,例如,最低电量要求可以为第一运算单元能够稳定执行任务时的最低电压阈值要求(或者最低电流阈值要求,或者最低功率阈值要求)。

在本公开实施例中,可以获取芯片中处于非空闲状态的第二运算单元的电量使用信息,从而基于该电量使用信息和芯片的供电量确定上述第一运行参数值,并在确定出第一运行参数值满足任务调度要求的情况下,确定第一运算单元满足任务执行要求,此时,就可以在待处理任务中为第一运算单元分配待执行任务。

这里,如果基于第一运行参数值确定出每个第一运算单元均能够稳定执行任务,则可以在待处理任务中为每个第一运算单元分配待执行任务。如果基于第一运行参数值确定出部分第一运算单元均能够稳定执行任务,则可以在待处理任务中为部分第一运算单元分配待执行任务。

通过上述描述可知,在获取到待处理任务之后,可以先确定芯片所包含多个运算单元中每个运算单元的运行状态,并基于该运行状态在该多个运算单元中查询处于空闲状态的至少一个第一运算单元。之后,可以获取基于芯片中处于非空闲状态的第二运算单元的电量使用信息所确定的第一运行参数值,并在确定出第一运行参数值满足任务调度要求的情况下,在待处理任务中为至少部分第一运算单元分配待执行任务。上述实施方式中,可以通过获取第一运行参数值,并在确定出第一运行参数值满足任务调度要求的情况下,为第一运算单元分配待执行任务,从而可以实现动态为芯片中的第一运算单元分配待执行任务,避免芯片由于执行处理任务量过大出现过冲现象,进而可以保证芯片执行任务的有效性,进一步提升芯片的使用寿命。

在一个可选的实施方式中,针对上述S105:获取基于处于非空闲状态的第二运算单元的电量使用信息确定的第一运行参数值,具体包括:

步骤S1051:获取目标传感器所采集到的目标参数值,并基于所述目标参数值确定所述第二运算单元的电量使用信息;

步骤S1052:基于总供电量信息和所述电量使用信息确定所述第一运行参数值,其中,所述目标传感器用于检测各所述运算单元的运行参数。

在本公开实施例中,目标传感器可以为预先在芯片中安装的传感器,该目标传感器可以电压传感器,也可以为电流传感器,也可以为电阻传感器,本公开对该目标传感器的类型不作具体限定,以满足实际需要为准。

在本公开实施例中,可以通过获取目标传感器所采集到的目标参数值,并基于该目标参数数值确定第二运算单元的第一运行参数值。

这里,目标传感器的数量可以为一个,还可以为多个。比如,可以为芯片中的全部运算单元设置一个对应的目标传感器,或者,为芯片中的每个运算单元设置一个对应的目标传感器。

假设,目标传感器为电压传感器,那么目标参数值为电压值。在芯片中的运算单元执行对应任务时,该运算单元两端的电压值不为零,且该电压值不可忽略;在芯片中的运算单元未执行对应任务时,该运算单元两端的电压值可以忽略不计。

在为芯片中的全部运算单元设置一个对应的目标传感器的情况下,该目标传感器可以检测芯片中全部运算单元的运行参数值,从而得到目标参数值。例如,可以通过目标传感器检测芯片中第一个运算单元至最后一个运算单元两端的电压值,并将该电压值确定为目标参数值。这里,第一个运算单元至最后一个运算单元两端的电压值可以理解为每个运算单元两端电压值之和。如果芯片中的某个运算单元未执行对应任务,那么该运算单元两端的电压值可以忽略不计,因此,通过目标传感器检测到的电压值可以近似为芯片中执行任务的运算单元两端电压值之和。

基于此,就可以基于该目标参数值确定第二运算单元的电量使用信息。假设,该目标参数值为电压值,那么该目标参数值可以理解为芯片中处于工作状态下的运算单元两端的总电压值。此时,就可以基于该总电压值确定处于工作状态下的运算单元的电量使用信息(也即,第二运算单元的电量使用信息)。

在为芯片中的每个运算单元设置一个对应的目标传感器的情况下,可以通过每个目标传感器检测芯片中每个运算单元的运行参数值,从而得到每个运算单元的目标参数值,例如,可以检测得到芯片中每个运算单元的电压值,并将每个运算单元的电压值确定为该目标参数值。

基于此,可以将目标参数值进行求和运算,从而基于求和结果确定第二运算单元的电量使用信息。假设,该目标参数值为电压值,那么该目标参数值可以理解为芯片中处于工作状态下的每个运算单元(即,每个第二运算单元)两端的电压值。此时,就可以基于对每个第二运算单元两端的电压值进行求和,得到总电压值,并基于该总电压值确定处于工作状态下的运算单元的电量使用信息,(也即,第二运算单元的电量使用信息)。

在按照上述所描述的方式确定第二运算单元的电量使用信息之后,就可以基于该芯片的供电量信息和该电量使用信息确定第一运行参数值,即第一运算单元的可使用电量信息,其中,芯片的供电量信息可以理解为该芯片所能够为全部运算单元提供的供电量信息。具体实施时,可以计算芯片的供电量信息和第二运算单元的电量使用信息之间的差值,进而基于该差值确定第一运行参数值。

上述实施方式中,可以先获取芯片中目标传感器所采集到的目标参数值,并基于该目标参数值确定第二运算单元的电量使用信息,进而基于该电量使用信息和芯片的供电量信息确定第一运行参数值,通过该处理方式,可以得到更加准确的芯片中各运算单元的运行参数,进而可以进一步保证芯片中各运算单元所执行的任务量不会过高,从而避免引起过冲现象。

在一个可选的实施方式中,在第一运行参数值为电压值的情况下,针对上述S107:基于所述第一运行参数值确定所述第一运算单元满足任务调度要求,可以执行如下过程。

在确定出所述电压值大于或者等于预设电压阈值的情况下,确定所述第一运算单元满足所述任务调度要求。

这里,预设电压阈值可以理解为至少一个第一运算单元能够稳定执行对应任务的最低电压值。例如,该预设电压阈值可以为每个第一运算单元能够稳定执行对应任务的最低电压值,又例如,该预设电压阈值可以为全部第一运算单元能够稳定执行对应任务的最低电压值。因此,在确定出电压值大于或者等于预设电压阈值的情况下,确定出与该预设电压阈值相对应的第一运算单元满足所述任务调度要求。

其中,与预设电压阈值相对应的第一运算单元可以理解为:在预设电压阈值下,至少一个第一运算单元中能够正常运行的第一运算单元。

举例来说,假设该预设电压阈值为0.5V,在获取到的电压值(也即第一运行参数值)为0.8V的情况下,可以确定第一运算单元满足任务调度要求,此时,可以在待处理任务中为与该预设电压阈值相匹配的第一运算单元分配待执行任务。这里,可以在至少一个第一运算单元中确定在0.8V下能够正常运行的第一运算单元作为与该预设电压阈值相匹配的第一运算单元。

又假设,在获取到的电压值(也即第一运行参数值)为0.4V的情况下,可以确定该第一运算单元不满足任务调度要求,即,在至少一个第一运算单元中不包含在0.4V下能够正常运行的第一运算单元。此时,则无法为第一运算单元分配待执行任务。

在一个可选的实施方式中,如图2所示,针对上述S101~S107,本公开方法还包括如下步骤:

步骤S21:在所述第一运算单元不满足所述任务调度要求的情况下,基于目标次数确定目标查询间隔;其中,所述目标次数用于指示获取到的所述第一运行参数值连续不满足所述任务调度要求的次数;

步骤S22:在经过所述目标查询间隔后,重新获取基于所述芯片中第二运算单元的电量使用信息确定的第二运行参数值;

步骤S23:在基于所述第二运行参数值确定所述第一运算单元满足所述任务调度要求的情况下,在所述待处理任务中为至少部分所述第一运算单元分配待执行任务。

在本公开实施例中,在基于第一运行参数确定第一运算单元不满足任务调度要求的情况下,则不执行为第一运算单元分配待执行任务的步骤。此时,可以统计基于该第一运行参数确定出的第一运算单元连续不满足任务调度要求的次数,并将该次数确定为目标次数。

在本公开实施例中,在确定出目标次数之后,可以基于该目标次数确定目标查询间隔。并在经过该目标查询间隔之后,重新获取基于芯片中第二运算单元的电量使用信息确定的第二运行参数值。这里,第二运算参数值的确定原理与定第一运算参数值的确定原理相同,此处不再详细描述。

这里,目标查询间隔可以理解为在连续确定第一运算单元不满足任务调度要求的情况下,获取芯片中处于非空闲状态的第二运算单元的电量使用信息的时间间隔。

在本公开实施例中,在目标次数发生变化的情况下,可以连续确定出第一运算单元不满足任务调度要求。此时,为了节省芯片的资源,可以避免频繁按照上述所描述的方式确定第二运行参数值,从而避免资源的浪费。基于此,在确定出目标次数发生变化的情况下,可以设置该目标查询间隔的大小也发生变化。这里,为了避免频繁的确定第二运行参数值,可以选择延长该目标查询间隔,以降低第二运行参数值的确定频率,从而避免资源的浪费。例如,在目标次数为1的情况下,该目标查询间隔可以为0.1秒,在目标次数为2的情况下,该目标查询间隔可以为0.2秒,在目标次数为3的情况下,该目标查询间隔可以为0.4秒。

在本公开实施例中,在第二运行参数值为电压值的情况下,如果该第二运行参数大于或者等于预设电压阈值的情况下,确定第一运算单元满足所述任务调度要求。此时,可以在至少一个第一运算单元中确定待分配任务的第一运算单元,其中,该待分配任务的第一运算单元可以为全部第一运算单元,还可以为部分第一运算单元。

在确定待分配任务的第一运算单元时,可以基于该预设电压阈值,确定在该第二运行参数的支持下,能够正常运行的第一运算单元作为待分配任务的第一运算单元。

在一个可选的实施方式中,如图3所示,针对上述基于目标次数确定目标查询间隔,具体包括如下步骤:

步骤S31:获取预设步长信息,其中,所述预设步长信息用于指示获取所述第二运算单元的电量使用信息的时间间隔;

步骤S32:基于所述目标次数确定所述预设步长信息的步长延长信息;

步骤S33:基于所述步长延长信息延长所述预设步长信息,得到新步长信息,并将所述新步长信息确定为所述目标查询间隔。

在本公开实施例中,预设步长信息可以理解为预先设定的步长信息,该预先设定的步长信息用于指示:在当前时刻确定第一运算单元不满足任务调度要求的情况下,再次获取第二运算单元的电量使用信息的时间间隔。例如,该预设步长信息可以为0.1秒,也可以为0.2秒,也可以为1秒,本公开对该预设步长信息对应的数值不作具体限定,以满足实际需要为准。

这里,为了降低第二运行参数值的确定频率,并节省芯片的资源,可以选择延长该目标查询间隔。基于此,可以基于目标次数确定预设步长信息的步长延长信息,即,不同目标次数所对应的步长延长信息不同。

例如,在目标次数为1的情况下,可以确定预设步长信息的步长延长信息为0;在目标次数大于1的情况下,可以确定预设步长信息的步长延长信息不为0,该步长延长信息的具体数值与该目标次数相关联。

在确定出步长延长信息之后,就基于该步长延长信息延长上述预设步长信息,得到新步长信息。此时,可以将该新步长信息确定为目标查询间隔。

在本公开实施例中,针对上述基于目标次数确定预设步长信息的步长延长信息,具体可以描述为如下过程:

(1)、获取初始时间信息;

(2)、基于所述目标次数确定所述初始时间信息的时间调整信息,其中,所述时间调整信息用于指示所述初始时间信息的时间调整方向和/或时间调整大小;

(3)、基于所述时间调整信息对所述初始时间信息进行调整,得到所述步长延长信息。

在本公开实施例中,初始时间信息可以理解为预先设定的调整初始值,例如,该初始时间信息可以为1,或者,该初始时间信息为2,本公开对该初始时间信息不作具体限定,以满足实际需要为准。

这里,可以通过编程的方式在芯片中实现上述基于目标次数确定预设步长信息的步长延长信息的步骤。在芯片对编辑的程序进行编译执行的情况下,芯片在计算过程中使用的数字均为二进制数字。因此,上述获取的初始时间信息在具体实现的过程中是以二进制数进行呈现。

在此情况下,在获取到的初始时间信息为1的情况下,在实现过程中该初始时间信息可以显示为二进制数0001,在获取到的初始时间信息为2的情况下,实现过程中该初始时间信息可以显示为二进制数0010。

在本公开实施例中,在获取得到初始时间信息之后,可以基于目标次数确定该初始时间信息的时间调整信息。在初始时间信息为二进制数的情况下,该时间调整信息用于指示该二进制数中“1”的调整方向和调整位数,其中,该调整位数可以用于确定时间调整大小。

具体实施时,假设,目标次数为N,N为自然数,此时,可以先确定N的数值,并基于确定出的N的数值确定时间调整信息中时间调整方向和/或调整位数。例如,在目标次数为N,且N>1的情况下,可以确定上述时间调整方向为:二进制数中的“1”向该二进制数的左侧移动,并确定上述调整位数为:调整N-1位。在目标次数为N,且N=1的情况下,可以确定上述时间调整方向为:不移动,和/或,确定上述调整位数为:调整0位。

在本公开实施例中,在基于目标次数确定出上述调整方向和调整位数之后,可以基于该调整方向和调整位数对初始时间信息进行调整,进而得到步长延长信息。

举例来说,假设,初始时间信息为二进制数0001,基于目标次数确定出时间调整信息中时间调整方向为二进制数中的“1”向该二进制数的左侧移动,且调整位数为调整1位的情况下,可以确定出时间调整信息为:初始时间信息中的“1”向左侧移动一位。在此情况下,当初始时间信息为二进制数0001时,在按照上述时间调整信息对该初始时间信息进行调整之后,可以得到调整结果为0010。在此情况下,可以确定步长延长信息为2。

上述实施方式中,在获取初始时间信息之后,通过基于目标次数确定初始时间信息的时间调整信息,并基于时间调整信息对初始时间信息进行调整得到步长延长信息的方式,可以基于目标次数动态调整初始时间信息,得到的步长延长信息。通过上述确定出步长延长信息的方式,可以得到更加合理有效的步长延长时间,从而为芯片的稳定运行提供保障。

在本公开实施例中,在确定出步长延长信息之后,可以基于该步长延长信息延长预设步长信息,得到新步长信息。此时,该步长延长信息可以理解为延长预设步长信息的延长倍数。例如,在步长延长信息为2的情况下,可以基于该步长延长信息将该预设步长信息延长至2倍的预设步长信息,从而得到新步长信息。例如,在预设步长信息为0.1秒的情况下,如果延长倍数为2,则可以得到的新步长信息即为0.2秒。

又如,在步长延长信息为4的情况下,可以基于该步长延长信息将预设步长信息延长至4倍的预设步长信息,得到新步长信息。例如,在预设步长信息为0.1秒的情况下,得到的新步长信息即为0.4秒。

此外,上述步长延长信息也可以为延长预设步长信息的累加信息,例如,在步长延长信息为4的情况下,可以基于该步长延长信息延长预设步长信息为累加4次该预设步长信息,并将累加结果确定为新步长信息。例如,在预设步长信息为0.1秒的情况下,那么对预设步长信息累加4次得到的新步长信息即为0.4秒。本公开对上述步长延长信息不作具体限定,以能实现为准。

在本公开实施例中,在得到新步长信息之后,可以将该新步长信息确定为目标查询间隔。在经过目标查询间隔之后,可以重新获取基于芯片中第二运算单元的电量使用信息确定的第二运行参数值,并在基于第二运行参数值确定第一运算单元满足任务调度要求的情况下,在待处理任务中为至少部分第一运算单元分配待执行任务。

在基于第二运行参数值确定第一运算单元不满足任务调度要求的情况下,可以使目标次数对应的数值加1得到新目标次数,并基于该新目标次数重新确定目标查询间隔。在经过目标查询间隔之后,再次重新基于获取芯片中第二运算单元的电量使用信息确定的第二运行参数值。在基于第二运行参数值确定第一运算单元满足任务调度要求的情况下,可以在待处理任务中为至少部分第一运算单元分配待执行任务,在基于第二运行参数值确定出第一运算单元仍不满足任务调度要求的情况下,则继续按照上述过程重新获取第二运行参数值,直至基于第二运行参数值确定出第一运算单元满足任务调度要求为止。

在此需要说明的是,由于芯片高性能计算的特点,使芯片中的第二运算单元一定会在某一目标时刻结束高强度计算任务。在新的第二运行参数值的获取时间在该目标时刻或者该目标时刻之后的时间的情况下,就可以基于获取到的新的第二运行参数值确定出第一运算单元满足任务调度要求。因此,在本公开实施例中,在基于第二运行参数值确定出第一运算单元不满足任务调度要求的情况下,可以基于目标次数持续延长目标查询时间间隔,而不会影响芯片的处理效率。

上述实施方式中,可以在基于第一运行参数值确定第一运算单元不满足任务调度要求的情况下,不再为芯片中处于空闲状态的运算单元(即,第一运算单元)分配待执行任务,从而可以避免芯片由于执行任务量过大引起过冲现象。

此外,上述实施方式中还可以在经过目标查询间隔之后,重新获取基于芯片中第二运算单元的电量使用信息确定的第二运行参数值,并在基于第二运行参数值确定第一运算单元满足任务调度要求的情况下,在待处理任务中为至少部分第一运算单元分配待执行任务,从而可以实现定时查看芯片中第二运算单元的电量使用信息,并及时为芯片中第一运算单元分配待执行任务,从而可以保证芯片可以尽快完成待处理任务,提高工作效率。

在一个可选的实施方式中,针对上述S103:基于所述运行状态在所述多个运算单元中查询至少一个第一运算单元,具体包括如下步骤:

步骤S41:获取标识寄存器的寄存器数值;其中,所述标识寄存器中的寄存器数值用于指示各运算单元的运行状态;

步骤S42:在所述寄存器数值中确定目标数值,并确定所述目标数值所对应的运算单元,其中,所述目标数值用于指示所述运算单元处于空闲状态;

步骤S43:基于所述目标数值所对应的运算单元确定所述至少一个第一运算单元。

在本公开实施例中,标识寄存器可以理解为用于存储芯片中多个运算单元的运行状态的标识寄存器。

例如,在运算单元的运行状态为空闲状态的情况下,可以确定该空闲状态所对应的标识为0,此时,在标识寄存器中为该运算单元存储的寄存器数值即为0;在运算单元的运行状态为非空闲状态的情况下,可以确定该非空闲状态所对应的标识为1,此时,在标识寄存器中为该运算单元存储的寄存器数值即为1。

在本公开实施例中,可以通过获取芯片中标识寄存器的寄存器数值来确定芯片中每个运算单元的运行状态。此时,在基于每个运算单元的运行状态在芯片包含的多个运算单元中查询到的至少一个第一运算单元,可以理解为标识寄存器中寄存器数值为1的运算单元。

上述实施方式中,通过确定标识寄存器的寄存器数值,来确定至少一个第一运算单元的方式,可以简化在芯片所包含的多个运算单元中查询得到至少一个第一运算单元的过程,从而可以提高查询效率。

在一个可选的实施方式中,本公开实施例所提供的方法还包括:

在基于所述运行状态确定所述多个运算单元中不包含处于空闲状态的第一运算单元的情况下,在经过预设步长信息之后,返回执行基于所述运行状态在所述多个运算单元中查询至少一个第一运算单元的步骤。

在本公开实施例中,在芯片所包含的多个运算单元均处于非空闲状态的情况下,可以确定出芯片中不包含处于空闲状态的第一运算单元,此时,芯片可以等待预设步长信息之后,再执行基于每个运算单元的运行状态在多个运算单元中查询至少一个第一运算单元的步骤。其中,预设步长信息与上述预设步长信息的含义相同,这里不再详细描述。

这里,基于每个运算单元的运行状态在多个运算单元中查询至少一个第一运算单元的具体实施步骤可以如上述S41~S43所描述的步骤,这里不再详细描述。

上述实施方式中,可以在芯片中所有运算单元均处于非空闲状态的情况下,经过预设步长信息之后,再次查询第一运算的方式,可以定时查询芯片中处于空闲状态的运算单元,从而可以及时查找到处于空闲状态的运算单元,以及时分配待执行任务,进而可以提高芯片执行任务的效率。

下面将结合具体的流程图详细说明本公开所提供的任务调度方法的实施过程,如图4所示,该任务调度方法具体包括如下步骤:

S401:确定芯片中每个运算单元的运行状态。

具体实施时,在获取到待处理任务之后,首先确定芯片所包含的多个运算单元中每个运算单元的运行状态。

S402:判断多个运算单元中是否包含第一运算单元。其中,若判断出包含,则执行步骤S403,否则经过预设步长(即上述实施例中的预设步长信息)返回执行S401。

具体实施时,在获取到待处理任务之后,可以在多个运算单元中判断是否包含处于空闲状态的第一运算单元。并在确定出芯片中不包含处于空闲状态的第一运算单元之后,可以在经过预设步长信息之后,重新在芯片所包含的多个运算单元中查询处于空闲状态的第一运算单元。

S403:获取基于芯片中处于非空闲状态的第二运算单元的电量使用信息确定的运行参数值A,其中,该步骤S403与上述步骤S105相同,此处不再详细描述。其中,该运行参数值A即为上述第一运行参数值。

S404:基于第一运行参数值确定第一运算单元是否满足任务调度要求;其中,若满足,则执行S405,否则执行S406。

S405:在待处理任务中为至少部分第一运算单元分配待执行任务。本流程结束。

S406:基于目标次数确定目标查询间隔;其中,目标次数用于指示获取到的所述第一运行参数值连续不满足所述任务调度要求的次数。

在经过所述目标查询间隔后,返回执行步骤S403得到运行参数值B。其中,该运行参数值B即为上述第二运行参数值。

在本公开实施例中,在确定出存在处于空闲状态的第一运算单元之后,可以获取芯片中处于非空闲状态的第二运算单元的电量使用信息,并基于该电量使用信息确定运行参数值A,并基于该运行参数值A判断第一运算单元是否满足任务调度要求。

在基于运行参数值A确定出至少部分第一运算单元满足任务调度要求的情况下,可以在待处理任务中为至少部分第一运算单元分配待执行任务。

在确定出运行参数值A不满足任务调度要求的情况下,可以确定目标查询间隔,并在经过目标查询间隔之后,重新获取基于第二运算单元的电量使用信息确定的运行参数B,并在基于运行参数B确定第一运算单元满足任务调度要求的情况下,在待处理任务中为至少部分第一运算单元分配待执行任务。

参见图5所示,为本公开实施例提供的一种任务调度装置的示意图,所述任务调度装置包括:控制器51和调度器52,其中,控制器51和调度器52依次连接。

控制器51,用于在获取到待处理任务之后,确定多个运算单元中每个所述运算单元的运行状态;以及基于所述运行状态在所述多个运算单元中查询处于空闲状态的至少一个第一运算单元;以及获取基于处于非空闲状态的第二运算单元的电量使用信息确定的第一运行参数值;

调度器52,用于接收控制器51发送的第一运算单元的相关信息和第一运行参数值,并在基于所述第一运行参数值确定所述第一运算单元满足任务调度要求的情况下,在所述待处理任务中为至少部分所述第一运算单元分配待执行任务;所述第一运行参数用于确定所述第一运算单元的可使用电量信息。

在本公开实施例中,在芯片获取到待处理任务之后,可以通过控制器确定芯片所包含的多个运算单元中每个运算单元的运行状态。之后,控制器可以基于该运算状态在多个运算单元中查询处于空闲状态的至少一个第一运算单元。接着,控制器可以获取芯片中处于非空闲状态的第二运算单元的电量使用信息所确定出来的第一运行参数值。此时,在调度器基于该第一运行参数值确定第一运算单元满足任务调度要求的情况下,可以在待处理任务中为至少部分第一运算单元分配待执行任务。

上述实施方式中,可以实现动态为芯片中的第一运算单元分配待执行任务,避免芯片由于执行处理任务量过大出现过冲现象,进而可以保证芯片执行任务的有效性,进一步提升芯片的使用寿命。

在一种可能的实施方式中,如图5所示,本公开实施例所提供的任务调度装置还包括:第一计时器53。

第一计时器53,用于在所述第一运算单元不满足所述任务调度要求的情况下,基于目标次数确定目标查询间隔;其中,所述目标次数用于指示获取到的所述第一运行参数值连续不满足所述任务调度要求的次数;

控制器51,还用于在经过所述目标查询间隔后,重新获取基于所述芯片中第二运算单元的电量使用信息确定的第二运行参数值;

调度器52,还用于在基于所述第二运行参数值确定所述第一运算单元满足所述任务调度要求的情况下,在所述待处理任务中为至少部分所述第一运算单元分配待执行任务。

在本公开实施例中,调度器52在基于第二运行参数值确定出第一运算单元不满足任务调度要求的情况下,可以向第一计时器发送计时开始信息。第一计时器在接收到该计时开始信息之后,可以基于目标次数确定目标查询间隔,并开始计时,其中,计时时间即为上述目标查询间隔。在第一计时器计时结果之后,可以向控制器51发送触发信号,以使控制器51在接收到第一计时器发送的触发信号之后,重新获取基于芯片的第二运算单元的电量使用信息确定的第二运行参数值,并向调度器52再次发送重新确定出的第二运行参数值。之后,调度器可以在基于重新确定出的第二运行参数值确定出第一运算单元满足任务调度要求的情况下,在待处理任务中为至少部分第一运算单元分配待执行任务。通过上述处理方式,可以基于该目标次数随时调整目标查询间隔,进而可以避免查询过多所导致的资源浪费问题。

在一种可能的实施方式中,第一计时器53,还用于:获取预设步长信息,其中,所述预设步长信息用于指示获取所述第二运算单元的电量使用信息的时间间隔;基于所述目标次数确定所述预设步长信息的步长延长信息;基于所述步长延长信息延长所述预设步长信息,得到新步长信息,并将所述新步长信息确定为所述目标查询间隔。

在本公开实施例中,可以先获取预设步长信息,再基于目标次数确定该预设步长信息的步长延长信息。之后,可以基于该步长延长信息延长该预设步长信息,得到新步长信息。此时,该新步长信息即为目标查询间隔。具体的实施过程详见上述步骤S31~S33所描述的过程,此处不再详细赘述。

在一种可能的实施方式中,第一计时器53,还用于:获取初始时间信息;基于所述目标次数确定所述初始时间信息的时间调整信息,其中,所述时间调整信息用于指示所述初始时间信息的时间调整方向和/或时间调整大小;基于所述时间调整信息对所述初始时间信息进行调整,得到所述步长延长信息。

在本公开实施例中,在第一计时器基于目标次数确定预设步长信息的步长延长信息的情况下,该第一计时器可以先获取初始时间信息,并基于目标次数确定该初始时间信息的时间调整信息。之后,第一计时器可以基于该时间调整信息对初始时间信息进行调整,得到步长延长时间。具体的实施过程详见上述(1)~(3)所描述的过程,此处不再详细赘述。

在一种可能的实施方式中,控制器51,还用于:获取标识寄存器的寄存器数值;其中,所述标识寄存器中的寄存器数值用于指示各所述运算单元的运行状态;以及在所述寄存器数值中确定目标数值,并确定所述目标数值所对应的运算单元,其中,所述目标数值用于指示所述运算单元处于空闲状态;以及基于所述目标数值所对应的运算单元确定所述至少一个第一运算单元。

在本公开实施例中,控制器可以基于每个运算单元的运行状态在多个运算单元中查询处于空闲状态的至少一个第一运算单元。具体实施时,可以先获取芯片中标识寄存器的寄存器数值,之后,在获取到的寄存器数值中确定目标数值,以及确定该目标数值所对应的运算单元。此时,该目标数值所对应的运算单元即为上述第一运算单元。

在寄存器数值中目标数值为多个的情况下,即可确定多个第一运算单元。具体的实施过程详见上述实施例中步骤S41~S33所描述的过程,此处不再详细赘述。

在一种可能的实施方式中,如图5所示,本公开实施例所提供的任务调度装置还包括:第二计时器54。

第二计时器54,用于在基于所述运行状态确定所述多个运算单元中不包含处于空闲状态的第一运算单元的情况下,开始计时,并在所述第二计时器的计时时间为预设步长信息的情况下,触发所述控制器再次基于所述运行状态在所述多个运算单元中查询至少一个第一运算单元。

在本公开实施例中,控制器在基于每个运算单元的运行状态确定出芯片中不包含处于空闲状态的第一运算单元的情况下,可以向第二计时器发送开始计时信息。第二计时器在接收到该开始计时信息之后,开始计时,其中,第二计时器的计时时间为预设步长信息。在第二计时器计时结束之后,向控制器发送触发信号,以基于该触发信号触发控制器再次基于每个运算单元的运行状态在多个运算单元中查询至少一个第一运算单元。其中,预设步长信息与上述预设步长信息的含义相同,这里不再详细介绍。

在一种可能的实施方式中,控制器51,还用于:获取目标传感器所采集到的目标参数值;以及基于所述目标参数值确定所述第二运算单元的电量使用信息;以及基于总供电量信息和所述电量使用信息确定所述第一运行参数值,其中,所述目标传感器用于检测各所述运算单元的运行参数。

在本公开实施例中,可以通过控制器获取芯片中处于非空闲状态的第二运算单元的电量使用信息确定的第一运行参数值。具体实施时,控制器可以先获取芯片中目标传感器所采集到的目标参数值,并基于该目标参数值确定第二运算单元的电量使用信息。之后,控制器就可以基于芯片的供电量信息和电量使用信息确定第一运行参数值。具体的实施步骤见上述实施例中步骤S1051~S1052所描述的过程,在此不再详细介绍。

在一种可能的实施方式中,在第一运行参数值为电压值的情况下,调度器还用于:在确定出所述电压值大于或者等于预设电压阈值的情况下,确定所述第一运算单元满足所述任务调度要求。

在本公开实施例中,在第一运行参数值为电压值的情况下,调度器在基于第一运行参数值确定第一运算单元满足任务调度要求的情况下,该调度器可以在确定出该第一运行参数值对应的电压值大于或者等于预设电压阈值的情况下,确定第一运算单元满足任务调度要求。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一发明构思,本公开实施例中还提供了与任务调度方法对应的任务调度装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述任务调度方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参照图6所示,为本公开实施例提供的一种任务调度装置的示意图,所述装置包括:确定单元61、查询单元62、获取单元63、分配单元64;其中,

确定单元61,用于在获取到待处理任务之后,确定多个运算单元中每个所述运算单元的运行状态;

查询单元62,用于基于所述运行状态在所述多个运算单元中查询处于空闲状态的至少一个第一运算单元;

获取单元63,用于获取基于处于非空闲状态的第二运算单元的电量使用信息确定的第一运行参数值;

分配单元64,用于在基于所述第一运行参数值确定所述第一运算单元满足任务调度要求的情况下,在所述待处理任务中为至少部分所述第一运算单元分配待执行任务;所述第一运行参数用于确定所述第一运算单元的可使用电量信息。

通过上述描述可知,在获取到待处理任务之后,可以先确定芯片所包含多个运算单元中每个运算单元的运行状态,并基于该运行状态在该多个运算单元中查询至少一个第一运算单元。之后,可以获取芯片中的第二运算单元的第一运行参数,并在确定出第一运行参数满足任务调度要求的情况下,在待处理任务中为每个第一运算单元分配待执行任务。上述实施方式中,可以通过获取第一运行参数值,并在确定出第一运行参数值满足任务调度要求的情况下,为第一运算单元分配待执行任务,从而可以实现动态为芯片中的第一运算单元分配待执行任务,避免芯片由于执行处理任务量过大出现过冲现象,进而可以保证芯片执行任务的有效性,进一步提升芯片的使用寿命。

一种可能的实施方式中,分配单元,还用于:在所述第一运算单元不满足所述任务调度要求的情况下,基于目标次数确定目标查询间隔;其中,所述目标次数用于指示获取到的所述第一运行参数值连续不满足所述任务调度要求的次数;在经过所述目标查询间隔后,重新获取基于所述第二运算单元的电量使用信息确定的第二运行参数值;在基于所述第二运行参数值确定所述第一运算单元满足所述任务调度要求的情况下,在所述待处理任务中为至少部分所述第一运算单元分配待执行任务。

一种可能的实施方式中,分配单元,还用于:获取预设步长信息,其中,所述预设步长信息用于指示获取所述第二运算单元的电量使用信息的时间间隔;基于所述目标次数确定所述预设步长信息的步长延长信息;基于所述步长延长信息延长所述预设步长信息,得到新步长信息,并将所述新步长信息确定为所述目标查询间隔。

一种可能的实施方式中,分配单元,还用于:获取初始时间信息;基于所述目标次数确定所述初始时间信息的时间调整信息,其中,所述时间调整信息用于指示所述初始时间信息的时间调整方向和/或时间调整大小;基于所述时间调整信息对所述初始时间信息进行调整,得到所述步长延长信息。

一种可能的实施方式中,查询单元,还用于:获取标识寄存器的寄存器数值;其中,所述标识寄存器中的寄存器数值用于指示各运算单元的运行状态;在所述寄存器数值中确定目标数值,并确定所述目标数值所对应的运算单元,其中,所述目标数值用于指示所述运算单元处于空闲状态;基于所述目标数值所对应的运算单元确定所述至少一个第一运算单元。

一种可能的实施方式中,查询单元,还用于:在基于所述运行状态确定所述多个运算单元中不包含处于空闲状态的第一运算单元的情况下,在经过预设步长信息之后,返回执行基于所述运行状态在所述多个运算单元中查询至少一个第一运算单元的步骤。

一种可能的实施方式中,分配单元,还用于:获取目标传感器所采集到的目标参数值,并基于所述目标参数值确定所述第二运算单元的电量使用信息;基于总供电量信息和所述电量使用信息确定所述第一运行参数值,其中,所述目标传感器用于检测所述芯片中各运算单元的运行参数。

一种可能的实施方式中,分配单元,还用于:在第一运行参数值为电压值的情况下,在确定出所述电压值大于或者等于预设电压阈值的情况下,确定所述第一运算单元满足所述任务调度要求。

关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

对应于图1中的任务调度方法,本公开实施例还提供了一种电子设备700,如图7所示,为本公开实施例提供的电子设备700结构示意图,包括:

处理器71、存储器72、和总线73;存储器72用于存储执行指令,包括内存721和外部存储器722;这里的内存721也称内存储器,用于暂时存放处理器71中的运算数据,以及与硬盘等外部存储器722交换的数据,处理器71通过内存721与外部存储器722进行数据交换,当所述电子设备700运行时,所述处理器71与所述存储器72之间通过总线73通信,使得所述处理器71执行以下指令:

在获取到待处理任务之后,确定多个运算单元中每个所述运算单元的运行状态;

基于所述运行状态在所述多个运算单元中查询处于空闲状态的至少一个第一运算单元;

获取基于处于非空闲状态的第二运算单元的电量使用信息确定的第一运行参数值;

在基于所述第一运行参数值确定所述第一运算单元满足任务调度要求的情况下,在所述待处理任务中为至少部分所述第一运算单元分配待执行任务;所述第一运行参数用于确定所述第一运算单元的可使用电量信息。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的任务调度方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的任务调度方法的步骤,具体可参见上述方法实施例,在此不再赘述。

其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号