System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及异构计算,特别涉及一种执行任务的方法和异构服务器。
技术介绍
1、异构服务器常用于处理与人工智能(artificial intelligence,ai)相关的任务,例如通过ai模型解决科研问题。
2、在异构服务器中除包括中央处理器(central processing unit,cpu)外,还可以包括用于进行ai计算的处理卡,如图形处理器(graphics processing unit,gpu)、嵌入式神经网络处理器(neural-network processing unit,npu)以及张量处理器(tensorprocessing unit,tpu)等处理单元等。
3、异构服务器的cpu在执行任务时,可以将涉及ai计算的任务分配至指定的处理卡,然后可以由处理卡执行分配的任务。目前cpu在向处理卡分配任务时,是根据任务所在的进程分配的,如将第一个进程的任务分配至a处理卡、将第二个进程的任务分配至b处理卡。可见当前cpu分配任务的方式较为固化,可能会将任务分配至处理资源较少的处理卡上,进而导致任务的执行效率下降。
技术实现思路
1、本申请实施例提供了一种执行任务的方法和异构服务器,可以提高任务在异构服务器中的执行效率,相应的技术方案如下:
2、第一方面,提供了一种执行任务的方法,该方法应用于异构服务器。其中,异构服务器中包括中央处理器和多个处理卡,该方法包括:
3、中央处理器基于待分配的任务对应的任务信息,确定待分配的任务
4、本申请所示的方案中,异构服务器中的中央处理器在为每个任务分配处理卡时,可以确定每个任务的计算量,并获取异构服务器中每个处理卡的可用处理资源(如存储空间、使用率等),然后根据每个任务的计算量和处理卡的可用处理资源,为每个任务分配处理卡。这样可以将计算量较大的任务分配至可用处理资源较多的处理卡,实现了对任务的动态分配,可以充分利用异构服务器中每个处理卡的处理资源,提高异构服务器执行任务的效率。
5、在一种示例中,待分配的任务对应的任务信息包括任务对应的数据量、数据类型以及计算类型。
6、对于中央处理器基于待分配的任务对应的任务信息,确定任务对应的计算量的处理可包括:中央处理器将待分配的任务对应的数据量、数据类型以及计算类型输入至经过训练的计算量预估模型,得到待分配的任务对应的计算量。
7、在一种示例中,待分配的任务为执行ai模型,对于中央处理器将待分配的任务发送至分配的处理卡执行包括:将对应相同ai模型的至少两个任务分配到同一处理卡;加载该至少两个任务中其中一个任务对应的ai模型至处理卡,并将该至少两个任务的输入数据作为ai模型的输入数据集加载至处理卡。
8、本申请所示的方案中,中央处理器在为每个任务分配处理卡时,可以优先将对应相同ai模型的至少两个任务分配至同一个处理上。对于该至少两个任务,可以将该至少两个任务对应的ai模型加载至处理卡,并且可以将该至少两个任务分别对应的输入数据作为一个任务的输入数据集加载至处理卡。这样中央处理器只需要向处理卡加载一次ai模型即可,能够降低内存拷贝时长,提高处理卡执行任务的效率,并且可以减少ai模型对处理卡上存储空间的占用。
9、在一种示例中,对于将至少两个任务的输入数据作为ai模型的输入数据集的处理,包括:对输入数据集中每个任务的输入数据进行标记。相应的,在处理卡运行ai模型,对输入数据集处理完后,得到输出数据;根据标记将输出数据分解为每个任务的输出数据,并返回给中央处理器。
10、本申请所示的方案中,处理卡可以将多个任务对应的输入数据集输入至ai模型,由ai模型输出对应的输出数据。处理卡可以根据输入数据集中每个任务的输入数据的标记,在ai模型输出的输出数据中,确定每个任务对应的输出数据,然后可以将每个任务对应的输出数据返回至中央处理器,再由中央处理器将每个任务的输出数据发送至对应的用户终端。
11、在一种示例中,中央处理器基于每个处理卡对应的可用处理资源和任务对应的计算量,为任务分配处理卡,包括:
12、对于对应的计算量大于计算量阈值的任务,中央处理器将任务拆分为至少两个计算量小于或等于所述计算量阈值的任务,其中,拆分得到的至少两个任务的输入数据是对拆分前的任务的输入数据进行拆分得到的,拆分得到的至少两个任务的ai模型均为拆分前的任务的ai模型,基于每个处理卡对应的可用处理资源和拆分得到的任务对应的计算量,为拆分得到的任务分配处理卡。
13、本申请所示的方案中,可以将计算量较大的任务,拆分为多个计算量较小的任务,然后将该多个计算量较小的任务分配至不同的处理器进行处理,进而可以异构服务器执行任务的效率。
14、第二方面,提供了一种异构服务器,该异构服务器包括中央处理器和多个处理卡,其中:
15、中央处理器,用于基于待分配的任务对应的任务信息,确定待分配的任务对应的计算量;
16、中央处理器,用于获取每个处理卡对应的可用处理资源;
17、中央处理器,用于基于每个处理卡对应的可用处理资源和待分配的任务对应的计算量,为任务分配处理卡;
18、中央处理器,用于将任务发送至分配的处理卡执行。
19、在一种示例中,任务信息包括任务对应的数据量、数据类型以及计算类型;
20、中央处理器,用于将待分配的任务对应的数据量、数据类型以及计算类型输入至经过训练的计算量预估模型,得到任务对应的计算量。
21、在一种示例中,待分配的任务为执行ai模型,中央处理器,用于:
22、将对应相同人工智能ai模型的至少两个任务分配到同一处理卡;
23、加载该至少两个任务中其中一个任务对应的ai模型至处理卡,并将该至少两个任务的输入数据作为ai模型的输入数据集加载至分配的处理卡。
24、在一种示例中,中央处理器,用于:对输入数据集中每个任务的输入数据进行标记;
25、处理卡还用于:运行ai模型,在对输入数据集处理完后,得到输出数据,根据标记将输出数据分解为每个任务的输出数据,并返回给中央处理器。
26、在一种示例中,中央处理器,用于:
27、对于对应的计算量大于计算量阈值的任务,将该任务拆分为至少两个计算量小于或等于计算量阈值的任务,其中,拆分得到的至少两个任务的输入数据是对拆分前的任务的输入数据进行拆分得到的,拆分得到的至少两个任务的ai模型均为拆分前的任务的ai模型;
28、基于每个处理卡对应的可用处理资源和拆分得到的任务对应的计算量,为拆分得到的任务分配处理卡。
29、第三方面,提供了一种可读存储介质,该可读存储介质存储有程序代码,当该程序代码被中央处理器和处理卡本文档来自技高网...
【技术保护点】
1.一种执行任务的方法,其特征在于,所述方法应用于异构服务器,所述异构服务器包括中央处理器和多个处理卡,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述任务信息包括所述任务对应的数据量、数据类型以及计算类型;
3.根据权利要求1或2所述的方法,其特征在于,所述任务为执行AI模型,所述中央处理器将所述任务发送至分配的处理卡执行包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述至少两个任务的输入数据作为所述AI模型的输入数据集包括:
5.根据权利要求1或2所述的方法,其特征在于,所述中央处理器基于每个处理卡对应的可用处理资源和所述任务对应的计算量,为所述任务分配处理卡,包括:
6.一种异构服务器,其特征在于,所述异构服务器包括中央处理器和多个处理卡,其中:
7.根据权利要求6所述的异构服务器,其特征在于,所述任务信息包括所述任务对应的数据量、数据类型以及计算类型;
8.根据权利要求6或7所述的异构服务器,其特征在于,所述任务为执行AI模型,所述中央处理器,用于:
9
10.根据权利要求6或7所述的异构服务器,其特征在于,所述中央处理器,用于:
11.一种可读存储介质,其特征在于,所述可读存储介质存储有程序代码,当所述程序代码被中央处理器和处理卡执行时,所述中央处理器和所述处理卡执行上述权利要求1至5中任一项所述的方法。
...【技术特征摘要】
1.一种执行任务的方法,其特征在于,所述方法应用于异构服务器,所述异构服务器包括中央处理器和多个处理卡,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述任务信息包括所述任务对应的数据量、数据类型以及计算类型;
3.根据权利要求1或2所述的方法,其特征在于,所述任务为执行ai模型,所述中央处理器将所述任务发送至分配的处理卡执行包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述至少两个任务的输入数据作为所述ai模型的输入数据集包括:
5.根据权利要求1或2所述的方法,其特征在于,所述中央处理器基于每个处理卡对应的可用处理资源和所述任务对应的计算量,为所述任务分配处理卡,包括:
6.一种...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。