用于深度学习平台的任务调度方法、装置及电子设备与流程

文档序号:33269724发布日期:2023-02-24 16:46阅读:41来源:国知局
用于深度学习平台的任务调度方法、装置及电子设备与流程

1.本发明涉及深度学习技术领域,特别涉及一种用于深度学习平台的任务调度方法、装置及电子设备。


背景技术:

2.现有的深度学习平台中,一个服务通常需要启用多个图形处理单元(graphics processing unit,简称:gpu)进行计算,而每个计算任务要部署到一个gpu上进行特征计算,且每个gpu上部署多个线程,每个线程每次可以执行一个任务计算,如此,使得每个gpu可能需要同时执行多个任务的计算。
3.由于每个gpu可能需要同时执行多个任务计算的情况下,需要有一种任务调度策略来平衡所有gpu上的计算负载,避免出现个别gpu负载高,计算耗时长,而其他gpu负载低,计算耗时短的情况。现有技术一般为通过轮询访问gpu各线程,为空闲线程分配任务,但此时会出现耗时高的任务集中分配到某些gpu上,而耗时低的任务分配到其他gpu上,此时,会导致某些gpu负载高某些gpu负载低,使得现有技术存在负载均衡的精确度较低的问题。


技术实现要素:

4.本发明实施例提供一种用于深度学习平台的任务调度方法、装置及电子设备,能够提高负载均衡的精确度,缩短任务完成的总耗时,提高处理效率。
5.本发明实施例第一方面提供一种用于深度学习平台的任务调度方法,所述方法包括:
6.从任务队列中获取耗时不低于设定耗时的目标待处理任务;
7.从n个负载门中选取负载低于设定负载的一个负载门作为目标负载门,其中,所述n个负载门与所述深度学习平台包含的n个gpu一一对应,n为大于1的整数;
8.将所述目标待处理任务分配给所述目标负载门对应的目标gpu进行处理。
9.可选的,在从任务队列中获取耗时不低于设定耗时的目标待处理任务之前,所述方法还包括:
10.获取当前的所有待处理任务;
11.将所述所有待处理任务进行耗时排序后放入所述任务队列中。
12.可选的,所述获取当前的所有待处理任务,包括:
13.响应当前接收的请求,获取所述请求对应的多个深度学习图的计算任务,将所述多个深度学习图的计算任务作为所述所有待处理任务。
14.可选的,所述将所述所有待处理任务进行耗时排序后放入所述任务队列中,包括:
15.获取所述所有待处理任务中每个待处理任务的预期耗时;
16.根据每个待处理任务的预期耗时,依照预期耗时从大到小将所述所有待处理任务放入所述任务队列中。
17.可选的,所述根据每个待处理任务的预期耗时,依照预期耗时从大到小将所述所
有待处理任务放入所述任务队列中,包括:
18.根据每个待处理任务的预期耗时,依照预期耗时从大到小对所述所有待处理任务进行排序;
19.将排序后的所述所有待处理任务放入所述任务队列中。
20.可选的,所述从n个负载门中选取负载低于设定负载的一个负载门作为目标负载门,包括:
21.获取所述n个负载门中每个负载门对应的负载值,负载值是根据负载门的当前等待线程数量确定的;
22.根据每个负载门对应的负载值,从所述n个负载门中选择负载低于所述设定负载的一个负载门作为所述目标负载门。
23.可选的,所述从n个负载门中选取负载低于设定负载的一个负载门作为目标负载门,包括:
24.从所述n个负载门中选取负载最低的一个负载门作为所述目标负载门。
25.可选的,所述将所述目标待处理任务分配给所述目标负载门对应的目标gpu进行处理,包括:
26.将所述目标待处理任务分配给所述目标gpu中的一个空闲线程进行处理,并调整所述目标负载门的当前负载。
27.本发明实施例第二方面还提供一种用于深度学习平台的任务调度装置,所述装置包括:
28.目标任务获取单元,用于从任务队列中获取耗时不低于设定耗时的目标待处理任务;
29.目标负载门选取单元,用于从n个负载门中选取负载低于设定负载的一个负载门作为目标负载门,其中,所述n个负载门与所述深度学习平台包含的n个gpu一一对应,n为大于1的整数;
30.任务处理单元,用于将所述目标待处理任务分配给所述目标负载门对应的目标gpu进行处理。
31.可选的,还包括:
32.待处理任务获取单元,用于获取当前的所有待处理任务;
33.排序单元,用于将所述所有待处理任务进行耗时排序后放入所述任务队列中。
34.可选的,所述待处理任务获取单元,用于响应当前接收的请求,获取所述请求对应的多个深度学习图的计算任务,将所述多个深度学习图的计算任务作为所述所有待处理任务。
35.可选的,所述目标负载门选取单元,用于获取所述n个负载门中每个负载门对应的负载值,负载值是根据负载门的当前等待线程数量确定的;根据每个负载门对应的负载值,从所述n个负载门中选择负载低于所述设定负载的一个负载门作为所述目标负载门。
36.本发明实施例第三方面提供了一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上的程序存储于存储器中,且经配置以由一个或者一个以上的处理器执行所述一个或者一个以上的程序所包含的用于进行如第一方面提供的用于深度学习平台的任务调度方法对应的操作指令。
37.本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面提供的用于深度学习平台的任务调度方法对应的步骤。
38.本发明实施例中的上述一个或至少一个技术方案,至少具有如下技术效果:
39.基于上述技术方案,从任务队列中获取耗时不低于设定耗时的目标待处理任务;从n个负载门中选取负载低于设定负载的一个负载门作为目标负载门;将所述目标待处理任务分配给所述目标负载门对应的目标gpu进行处理,如此,由于目标待处理任务的耗时不低于设定耗时,而目标负载门的负载低于设定负载,且n个负载门与n个gpu一一对应,使得耗时高的目标待处理任务分配给负载低的目标gpu进行处理,从而提高了负载均衡的精确度,在负载均衡的精确度提高的基础上,使得任务总负载的平衡性能提高,使得高耗时的任务会优先调度计算,从而能够有效缩短任务完成的总耗时,提高任务处理效率。
附图说明
40.图1为本发明实施例提供的用于深度学习平台的任务调度方法的流程示意图;
41.图2为本发明实施例提供的用于深度学习平台的任务调度装置的方框图;
42.图3为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
43.下面结合附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
44.实施例
45.请参考图1,本发明实施例提供一种用于深度学习平台的任务调度方法,所述方法包括:
46.s101、从任务队列中获取耗时不低于设定耗时的目标待处理任务;
47.s102、从n个负载门中选取负载低于设定负载的一个负载门作为目标负载门,其中,所述n个负载门与所述深度学习平台包含的n个gpu一一对应,n为大于1的整数;
48.s103、将所述目标待处理任务分配给所述目标负载门对应的目标gpu进行处理。
49.本说明书实施例中,深度学习平台可以为深度学习推理平台。
50.其中,在步骤s101中,若任务队列中的待处理任务集中的待处理任务未进行耗时排序,则需对待处理任务集中的每个待处理任务进行耗时计算,根据计算得到的每个待处理任务的预期耗时,按照耗时从大到小,从待处理任务集中依次选取一个待处理任务作为目标待处理任务;若任务队列中待处理任务集中的待处理任务已进行了耗时排序,则直接按照耗时从大到小,从待处理任务集中依次选取一个待处理任务作为目标待处理任务。
51.本说明书实施例中,设定耗时可以根据任务队列中每个待处理任务的耗时来确定,例如设定耗时可以是不小于任务队列中耗时次高或第三高的耗时且不大于最高耗时,例如任务队列中存在3个待处理任务耗时依次为30ms(毫秒),20ms和15ms,则确定设定耗时可以为20ms、25ms或26ms等。当然,设定耗时还可以根据实际情况进行设定,本说明书不作具体限制。
52.具体地,设定耗时是根据任务队列中的待处理任务的变化而变化,若前一时刻任
务队列中的存在3个待处理任务耗时依次为30ms(毫秒),20ms和15ms,则根据30ms和20ms,可以确定出设定耗时可以为20、25和26等,从而将30ms的待处理任务分配给对应的gpu处理;使得在下一时刻,任务队列中存在2个待处理任务耗时依次为20ms和15ms,此时,则根据20ms和15ms,可以确定出设定耗时可以为19ms、17ms和16ms等,从而将20ms的待处理任务分配给对应的gpu处理;以及在下下时刻,任务队列中仅存在一个待处理任务其耗时为15ms,则根据15ms,由于设定耗时不大于最高耗时,则确定设定耗时为15ms、14ms和13ms等,从而将15ms的待处理任务分配给对应的gpu处理。
53.优选的,设定耗时为不小于任务队列中耗时次高的耗时,如此,在此情况下会从在任务队列中的待处理任务集按照耗时从大到小,依次选取一个待处理任务作为目标待处理任务;针对每次选取的目标待处理任务,执行步骤s102-s103,从而完成任务队列中每个待处理任务的处理。
54.本说明书实施例中,在执行步骤s101之前,可以获取当前的所有待处理任务;将所有待处理任务进行耗时排序后放入任务队列中;如此,使得在执行步骤s101时,能够更加快速的从耗时排序的所有待处理任务中获取到目标待处理任务。
55.本说明书实施例中,在获取当前的所有待处理任务时,在同一时刻会接收到请求数量为多个,则获取到多个请求对应的多个深度学习图的计算任务,将多个深度学习图的计算任务作为所有待处理任务。在获取到多个请求对应的多个深度学习图的计算任务时,针对每个请求,若该请求仅对应一个深度学习图的计算任务,则直接将该请求对应的深度学习图的计算任务添加多个深度学习图的计算任务中;若该请求对应的多个深度学习图的计算任务,将多个深度学习图的计算任务添加到所有待处理任务中;在将每个请求对应的计算任务均添加到所有待处理任务之后,则获取到所有待处理任务。
56.具体来讲,在获取当前的所有待处理任务时,在同一时刻会接收到请求数量仅为一个,则可以通过响应当前接收的请求,获取请求对应的多个深度学习图的计算任务,将多个深度学习图的计算任务作为所有待处理任务。
57.具体地,在接收到请求时,该请求包含了多个深度学习图(即特征图)的计算,每个深度学习图的计算作为一个计算任务,不同的深度学习图,由于其模型结构不同,可能有不同的计算耗时,如此,在获取到多个深度学习图的计算任务之后,计算每个深度学习图的计算任务的预期耗时,再根据每个深度学习图的计算任务的预期耗时进行排序,然后将排序后的多个深度学习图的计算任务作为所有待处理任务放入任务队列中。
58.在获取到所有待处理任务之后,在将所有待处理任务进行耗时排序后放入任务队列中时,可以获取所有待处理任务中每个待处理任务的预期耗时;根据每个待处理任务的预期耗时,依照预期耗时从大到小将所有待处理任务放入任务队列中。如此,使得任务队列中的所有待处理任务是按照预期耗时从大到小依次进行排序,进而在执行步骤s101时,可以根据设定耗时,直接将所有待处理任务中耗时最高或次高的待处理任务作为目标待处理任务,以缩短获取目标待处理任务的时间,提高获取效率。
59.具体地,在根据每个待处理任务的预期耗时,依照预期耗时从大到小将所有待处理任务放入任务队列中时,可以根据每个待处理任务的预期耗时,依照预期耗时从大到小对所有待处理任务进行排序;再将排序后的所有待处理任务放入任务队列中。此时,是对所有待处理任务进行先排序,再将排序后的所有待处理任务放入任务队列中,也可以不对所
有待处理任务进行排序,直接按照预期耗时从大到小将依次将所有待处理任务放入任务队列中,本说明书不作具体限制。
60.例如,以接收到的请求为一个,且包含4个深度学习图的计算为例,该请求对应的4个深度学习图的计算任务依次为a1、a2、a3和a4,其中,计算出a1、a2、a3和a4的预期耗时依次为12ms、10ms、20ms和6ms,则依照预期耗时从大到小对a1、a2、a3和a4进行排序,得到排序序列为{a3,a1,a2,a4},然后将排序序列放入任务队列中。此时,在排序序列放入任务队列中时,可以依次调用put方法,从而依次将a3,a1,a2和a4放入任务队列中。以及,若设定耗时为18ms,由于20》18》12,则选取a3作为目标待处理任务。
61.在确定了目标待处理任务之后,执行步骤s102。
62.在步骤s102中,在确定了目标处理任务之后,自动触发选取目标负载门的操作,此时,获取n个负载门中每个负载门对应的负载值,负载值是根据负载门的当前等待线程数量确定的;根据每个负载门对应的负载值,从n个负载门中选择负载低于设定负载的一个负载门作为目标负载门。其中,当前等待线程数量是指当前处于等待状态的线程数量。例如,某个负载门对应的gpu处于等待状态的数量为3,则该负载门的当前等待线程数量为3。
63.本说明书实施例中,由于n为大于1的整数,使得n的值可以为2、3、5和8等,本说明书不作具体限制。
64.本说明书实施例中,设定负载可以根据n个负载门中每个负载门的负载值来确定,例如设定负载可以是不大于n个负载门中次低负载值或第三低负载值且大于最低负载值,例如3个负载门的负载值依次为-5,-2和-8,则确定设定负载可以为-6、-6和-7等。当然,设定负载还可以根据实际情况进行设定,本说明书不作具体限制。
65.具体来讲,可以从n个负载门中选取负载最低或次低的一个负载门作为目标负载门。即,可以从n个负载门中选取负载值最小或次小的一个负载门作为目标负载门。
66.优选的,设定负载为小于n个负载门中的次低负载值且大于最低负载值,如此,在此情况下会将目标待处理任务会分配给负载最低的一个负载门,使得在设定耗时为不小于任务队列中耗时次高的耗时,每次确定出的目标待处理任务的耗时最高,且为其分配的负载门的负载最低,能够进一步提高高耗时任务尽可能被优先调度计算的概率,进一步缩短所有任务完成所需总时间,从而能够有效提高任务处理效率。
67.具体地,会预先根据n个gpu,为每个gpu创建一个gate_states数组,得到n个gate_states数组作为n个负载门,其中,针对每个gate_states数组,该数组对应的负载值初始化为0,每当该门对应的gpu中存在一个线程处于空闲状态,则该门对应的负载值会减一(若有3个线程处于等待状态,则该门对应的负载值为-3);如此,可以获取到n个负载门中每个负载门的负载值。以及,在获取到每个负载门的负载值之后,从n个负载门中选择负载值低于设定负载的一个负载门作为目标负载门。当然,每当该门对应的gpu中存在一个线程处于空闲状态,则该门对应的负载值会增加或减去相应的值,例如每当该门对应的gpu中存在一个线程处于空闲状态,则该门对应的负载值会加1,或加2,或减2,或减3等,本说明书不作具体限制。下面具体以每当该门对应的gpu中存在一个线程处于空闲状态,则该门对应的负载值会减一为例。
68.以深度学习平台包含4个gpu为例,4个gpu依次为b1、b2、b3和b4,为b1、b2、b3和b4中每个gpu创建一个gate_states数组,依次为g1、g2、g3和g4,其中,根据每个gpu的当前处
于等待状态的线程数量,获取到g1、g2、g3和g4的负载值依次为-3、-4、-6和-5,若设定负载为-5.5,由于-6《-5.5,则选取g3作为目标负载门。
69.在实际应用过程中,在调用put方法将排序后的所有待处理任务放入任务队列之后,调用select_and_signal方法,通过调用select_and_signal方法,会选取一个负载最低的负载门,并通知该负载门对应的线程。
70.在确定目标负载门之后,执行步骤s103。
71.在步骤s103中,在确定目标负载门之后,由于n个负载门与n个gpu一一对应,从而可以获取到目标负载门对应的目标gpu,然后将目标待处理任务分配给目标gpu中的一个空闲线程进行处理,并调整目标负载门的当前负载。
72.例如,选取g3作为目标负载门,由于g3与b3对应,则确定目标gpu为b3,并通知b3中的处于等待状态的线程,将目标待处理任务分配给选取g3作为目标负载门,且b3的当前负载值为-6+1=-5,则将b3的当前负载值从-6调整为-5。如此,可以将任务队列中耗时大于设定耗时的目标待处理任务分配给负载低的目标gpu,使得高耗时任务尽可能被优先调度计算,使得所有任务完成所需总时间会缩短,从而能够有效提高任务处理效率。
73.本说明书实施例中,针对任务队列中除目标待处理任务之外的其余待处理任务,针对其余待处理任务中的每个待处理任务,执行步骤s101-s103,此时,设定耗时需要根据任务队列中的当前待处理任务的预期耗时而确定,使得设定耗时和设定负载根据实际情况进行改变,如此,使得低耗时的待处理任务会分配给负载高的gpu处理,能够使得n个gpu的负载均衡的准确度提高。
74.基于上述技术方案,从任务队列中获取耗时不低于设定耗时的目标待处理任务;从n个负载门中选取负载低于设定负载的一个负载门作为目标负载门;将所述目标待处理任务分配给所述目标负载门对应的目标gpu进行处理,如此,由于目标待处理任务的耗时不低于设定耗时,而目标负载门的负载低于设定负载,且n个负载门与n个gpu一一对应,使得耗时高的目标待处理任务分配给负载低的目标gpu进行处理,从而提高了负载均衡的精确度,在负载均衡的精确度提高的基础上,使得任务总负载的平衡性能提高,使得高耗时的任务会优先调度计算,从而能够有效缩短任务完成的总耗时,提高任务处理效率。
75.针对上述实施例提供一种用于深度学习平台的任务调度方法,本发明实施例还对应提供一种用于深度学习平台的任务调度装置,请参考图2,该装置包括:
76.目标任务获取单元201,用于从任务队列中获取耗时不低于设定耗时的目标待处理任务;
77.目标负载门选取单元202,用于从n个负载门中选取负载低于设定负载的一个负载门作为目标负载门,其中,所述n个负载门与所述深度学习平台包含的n个gpu一一对应,n为大于1的整数;
78.任务处理单元203,用于将所述目标待处理任务分配给所述目标负载门对应的目标gpu进行处理。
79.在一种可选的实施方式中,所述装置还包括:
80.待处理任务获取单元,用于获取当前的所有待处理任务;
81.排序单元,用于将所述所有待处理任务进行耗时排序后放入所述任务队列中。
82.在一种可选的实施方式中,所述待处理任务获取单元,用于响应当前接收的请求,
获取所述请求对应的多个深度学习图的计算任务,将所述多个深度学习图的计算任务作为所述所有待处理任务。
83.在一种可选的实施方式中,所述排序单元,用于获取所述所有待处理任务中每个待处理任务的预期耗时;根据每个待处理任务的预期耗时,依照预期耗时从大到小将所述所有待处理任务放入所述任务队列中。
84.在一种可选的实施方式中,所述排序单元,用于根据每个待处理任务的预期耗时,依照预期耗时从大到小对所述所有待处理任务进行排序;将排序后的所述所有待处理任务放入所述任务队列中。
85.在一种可选的实施方式中,目标负载门选取单元202,用于获取所述n个负载门中每个负载门对应的负载值,负载值是根据负载门的当前等待线程数量确定的;根据每个负载门对应的负载值,从所述n个负载门中选择负载低于所述设定负载的一个负载门作为所述目标负载门。
86.在一种可选的实施方式中,目标负载门选取单元202,用于从所述n个负载门中选取负载最低的一个负载门作为所述目标负载门。
87.在一种可选的实施方式中,任务处理单元203,用于将所述目标待处理任务分配给所述目标gpu中的一个空闲线程进行处理,并调整所述目标负载门的当前负载。
88.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
89.图3是根据一示例性实施例示出的一种用于深度学习平台的任务调度方法的电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
90.参照图3,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/展现(i/o)的接口812,传感器组件814,以及通信组件816。
91.处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
92.存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
93.电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
94.多媒体组件808包括在所述电子设备800和用户之间的提供一个展现接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面
板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
95.音频组件810被配置为展现和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于展现音频信号。
96.i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
97.传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
98.通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信部件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
99.在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
100.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
101.一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种用于深度学习平台的任务调度方法,所述方法包括:
102.从任务队列中获取耗时不低于设定耗时的目标待处理任务;
103.从n个负载门中选取负载低于设定负载的一个负载门作为目标负载门,其中,所述n个负载门与所述深度学习平台包含的n个gpu一一对应,n为大于1的整数;
104.将所述目标待处理任务分配给所述目标负载门对应的目标gpu进行处理。
105.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
106.应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制
107.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1