CN115983359A - 异构计算调度方法及装置、计算机可读存储介质 - Google Patents

异构计算调度方法及装置、计算机可读存储介质 Download PDF

Info

Publication number
CN115983359A
CN115983359A CN202310093023.0A CN202310093023A CN115983359A CN 115983359 A CN115983359 A CN 115983359A CN 202310093023 A CN202310093023 A CN 202310093023A CN 115983359 A CN115983359 A CN 115983359A
Authority
CN
China
Prior art keywords
sub
modules
hardware platform
target hardware
computing power
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310093023.0A
Other languages
English (en)
Inventor
牛孝通
许哲豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Spreadtrum Communications Shanghai Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Priority to CN202310093023.0A priority Critical patent/CN115983359A/zh
Publication of CN115983359A publication Critical patent/CN115983359A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Supply And Distribution Of Alternating Current (AREA)

Abstract

一种异构计算调度方法及装置、计算机可读存储介质,所述异构计算调度方法包括:加载目标神经网络模型;将所述目标神经网络模型分割成多个子模块;将所述多个子模块分配给所述终端设备中的至少一个硬件平台。采用上述方案,在部署神经网络模型时,实现神经网络模型在不同硬件平台上的统一调度,能够充分利用终端设备的硬件资源,提高推理效率。

Description

异构计算调度方法及装置、计算机可读存储介质
技术领域
本发明涉及人工智能技术领域,尤其涉及一种异构计算调度方法及装置、计算机可读存储介质。
背景技术
在使用推理框架部署神经网络模型时,通常需要用户指定使用终端设备中特定的硬件平台,例如NCNN模型,支持GPU加速模型推理,但是不支持其他硬件平台(如NPU)进行模型推理。
可见,现有技术中,在部署神经网络模型时,难以在不同的硬件平台上统一调度,导致部署神经网络模型时,无法充分利用终端设备的硬件资源,影响神经网络模型部署时的推理效率。
发明内容
本发明实施例解决的是在部署神经网络模型时,无法充分利用终端设备的硬件资源,影响神经网络模型部署时的推理效率。
为解决上述技术问题,本发明实施例提供一种异构计算调度方法,应用于终端设备,包括:加载目标神经网络模型;将所述目标神经网络模型分割成多个子模块;将所述多个子模块分配给所述终端设备中的至少一个硬件平台。
可选的,所述将所述目标神经网络模型分割成多个子模块,包括:根据所述终端设备中各硬件平台的处理能力信息,确定所述终端设备中支持对所述子模块进行运算的目标硬件平台;根据各目标硬件平台的剩余算力,将所述目标神经网络模型分割成多个子模块。
可选的,所述根据各目标硬件平台的剩余算力,将所述目标神经网络模型分割成多个子模块,包括:根据各目标硬件平台的剩余算力,以及预设的分割条件和/或开销约束条件,确定最优的模型分割方式;所述分割条件包括如下至少一种:同一目标硬件平台上的连续子模块个数最大化、子模块的总数最小化、目标硬件平台的剩余算力利用效率最大化;所述开销约束条件包括以下至少一种:所述子模块对应的内存拷贝开销、所述子模块对应的通信开销;采用所述最优的模型分割方式,将所述目标神经网络模型分割成多个子模块。
可选的,所述根据各目标硬件平台的剩余算力,将所述目标神经网络模型分割成多个子模块,包括:根据各目标硬件平台的剩余算力,以及预设的分割条件和/或开销约束条件,搜索最优模型分割方式;根据搜索得到的最优模型分割方式,将所述目标神经网络模型分割成多个子模块。
可选的,所述将所述多个子模块分配给所述终端设备中的至少一个硬件平台,包括:根据所述各目标硬件平台对应的剩余算力,将所述多个子模块分配给至少一个目标硬件平台。
可选的,所述根据所述各目标硬件平台对应的剩余算力,将所述多个子模块分配给至少一个目标硬件平台,包括:若所述剩余算力最高的第一目标硬件平台对应的剩余算力能够满足所述多个子模块运算所需的算力,则将所述多个子模块分配给所述第一目标硬件平台;若所述第一目标硬件平台对应的剩余算力无法满足所述多个子模块运算所需的算力,则按照剩余算力从高到低的顺序,将所述多个子模块分配给剩余算力最高的前N个目标硬件平台;N≥2。
可选的,所述按照剩余算力从高到低的顺序,将所述多个子模块分配给剩余算力最高的前N个目标硬件平台,包括:根据第i个目标硬件平台对应的剩余算力,确定所述第i个目标硬件平台的剩余算力能够运行的最大子模块个数M;为所述第i个目标硬件平台分配M个子模块;第i个目标硬件平台为剩余算力最高的前N-1个目标硬件平台中的一个,且为前N-1个目标硬件平台均分配子模块之后,剩余的子模块分配给第N个目标硬件平台。
可选的,所述为所述第i个目标硬件平台分配M个子模块,包括:为所述第i个目标硬件平台分配连续的M个子模块。
可选的,所述根据所述各目标硬件平台对应的剩余算力,将所述多个子模块分配给至少一个目标硬件平台,包括:将所述多个子模块分配给剩余算力最高的前N个目标硬件平台;所述剩余算力最高的前N个目标硬件平台的总剩余算力满足所述多个子模块运算所需的算力。
可选的,所述子模块包括如下至少一种:层、算子或者子图。
本发明实施例还提供了一种异构计算调度装置,包括:加载单元,用于加载目标神经网络模型;分割单元,用于将所述目标神经网络模型分割成多个子模块;分配单元,用于将所述多个子模块分配给所述终端设备中的至少一个硬件平台。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一种所述的异构计算调度方法的步骤。
本发明实施例还提供了另一种异构计算调度装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述任一种所述的异构计算调度方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
将加载的目标神经网络分割成多个子模块,将多个子模块分配给终端设备的至少一个硬件平台。由此,可以由终端设备中不同的硬件平台对目标神经网络模型的一部分进行运算,从而能够实现神经网络模型在不同硬件平台上的统一调度,充分利用终端设备中不同的硬件平台的硬件资源,提高推理效率。
进一步,将多个连续的子模块分配给同一个目标硬件平台,可以减少通信开销和拷贝开销。
附图说明
图1是本发明实施例中的一种异构计算调度方法的流程图;
图2是本发明实施例中的一种模型分割成多个子模块的示意图;
图3是本发明实施例中的一种异构计算调度装置的结构示意图。
具体实施方式
如上述背景技术中所述,在部署神经网络模型时,用户指定使用终端设备中特定的硬件平台,由该特定的硬件平台执行神经网络模型对应的运算。然而,仅由特定的硬件平台执行神经网络模型,无法充分利用终端设备中不同硬件平台的硬件资源。
在本发明实施例中,将加载的目标神经网络分割成多个子模块,将多个子模块分配给终端设备的至少一个硬件平台。由此,可以由终端设备中不同的硬件平台对目标神经网络模型的一部分进行运算,从而实现神经网络模型在不同硬件平台上的统一调度,能够充分利用终端设备中不同的硬件平台的硬件资源,提高推理效率。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明实施例提供了一种异构计算调度方法,参照图1,以下通过具体步骤进行详细说明。
步骤101,加载目标神经网络模型。
在具体实施中,当存在使用神经网络模型的应用需求时,可以选择与该应用需求对应目标神经网络模型,并加载所选择的目标神经网络模型。针对不同的应用需求,调度的神经网络模型可以不同。
在具体应用中,神经网络模型可以存储在终端设备的存储模块中,如终端设备的只读存储器(ROM)中。或者,神经网络模型也可以存储在云服务器中,当存在应用需求时,终端设备与云服务器进行通信,从云服务器中下载目标神经网络模型并加载。
在本发明实施例中,加载目标神经网络模型,可以是指将目标神经网络模型加载到推理框架中,由推理框架进行模型推理。
步骤102,将目标神经网络模型分割成多个子模块。
在具体实施中,在完成目标神经网络模型的加载后,可以将目标神经网络模型分割成多个子模块。
在本发明实施例中,可以获取终端设备中各硬件平台的处理能力信息。根据终端设备中各硬件平台的处理能力信息,确定终端设备中支持对子模块进行运算的目标硬件平台。
在具体实施中,终端设备中可以包括多个硬件平台。硬件平台可以包括中央处理器(Central Processing Unit,CPU)、视觉数字信号处理器(Vision Digital SignalProcessor,VDSP)、领域专用架构(Domain Specific Architecture,DSA)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural network Processing Unit,NPU)等。
在具体实施中,可以理解的是,针对不同的终端设备,其中所包括的硬件平台可能不同。例如,某一终端设备中,仅包括CPU以及GPU;另一终端设备中,包括CPU、GPU、NPU等硬件平台。
可以理解的是,不同的硬件平台对应的算力可能不同。例如,在某一终端设备中,GPU的算力高于CPU的算力。
在具体应用中,终端设备的多个硬件平台可以均支持对子模块进行运算,也可能仅有部分硬件平台能够支持对子模块进行运算。
因此,可以先获取终端设备中的各个硬件平台对目标神经网络模型中的子模块的支持情况,确定哪些硬件平台能够支持对子模块进行运算。在本发明实施例中,将支持对子模块进行运算的硬件平台简称为目标硬件平台。
在具体应用过程中,在不同的应用场景下,同一硬件平台可能会执行不同的运算操作,不同的运算操作所使用的算力也可能不同。因此,在不同的应用场景下,同一硬件平台对应的剩余算力也可能不同。上述的剩余算力,可以是指该硬件平台能够用于对神经网络模型的层进行运算的算力。
在本发明实施例中,可以根据各目标平台的剩余算力,确定最优的模型分割方式,将目标神经网络模型分割成多个子模块。
例如,目标硬件平台1的剩余算力能够运行的子模块的个数为5,目标硬件平台2的剩余算力能够运行的子模块的个数为4,目标硬件平台3的剩余算力能够运行的子模块的个数为3。确定最优的模型分割方式为:目标神经网络模型被分割成三组:第一组包括5个子模块,第二组包括4个子模块,第三组包括1个子模块。
在具体实施中,在确定最优的模型分割方式时,还可以结合预设的分割条件和/或开销约束条件;其中,分割条件可以包括如下至少一种:同一目标硬件平台上的连续子模块个数最大化、子模块的总数最小化、目标硬件平台的剩余算力利用效率最大化;开销约束条件包括以下至少一种:子模块对应的内存拷贝开销、子模块对应的通信开销。
在具体实施中,上述的目标硬件平台的剩余算力利用效率最大化,可以是指:将子模块尽量地分配至剩余算力较高的目标硬件平台。也就是说,在进行模型分割时,可以按照剩余算力从高到低的顺序,确定每一个目标硬件平台所能够运行的子模块的个数。按照每一个目标硬件平台所能够运行的子模块的个数,对目标神经网络模型进行分割。
例如,目标硬件平台1的剩余算力能够运行5个连续的子模块,目标硬件平台2的剩余算力能够运行连续的5个子模块,目标硬件平台3的剩余算力能够运行的连续的3个子模块。则结合目标硬件平台的剩余算力以及分割条件、开销约束条件,确定最优的模型分割方式为:将目标神经网络模型分割成两组子模块,第一组子模块包括5个连续的子模块,第二组子模块包括3个连续的子模块。
在具体实施中,也可以预先设置多种模型分割方式,模型分割方式可以与目标硬件平台的剩余算力相关。在对目标神经网络模型进行分割之前,先根据各目标硬件平台的剩余算力,从多种模型分割方式中搜索最优模型分割方式,并依据最优模型分割方式对目标神经网络模型进行分割。
例如,根据各目标硬件平台的剩余算力,在预设的多种模型分割方式中进行搜索,确定最优模型分割方式为:将目标神经网络模型分割成两组,第一组包括4个连续的子模块,第二组包括4个连续的子模块。
在具体实施中,在预先设置多种模型分割方式时,也可以充分考虑上述的开销约束条件和/或分割条件,将不同的模型分割方式与剩余算力、分割条件和/或开销约束条件关联。在对目标神经网络模型进行分割之前,先根据各目标硬件平台的剩余算力、分割条件和/或开销约束条件,从多种模型分割方式中搜索最优模型分割方式,并依据最优模型分割方式对目标神经网络模型进行分割。
在具体实施中,在从多种模型分割方式中搜索最优模型分割方式时,还可以根据具体的应用需求,对分割条件和/或开销约束条件进行调整。相应地,可能得到不同的最优分割方式。
可以理解的是,最终搜索得到的最优分割方式,其对应的部署效率最高。也就是说,从多种模型分割方式中搜索最优模型分割方式,可以是:在约定条件(上述的分割条件和/或开销约束条件)下,从多种模型分割方式中搜索部署效率最高的分割方式。
在具体实施中,子模块可以包括子图或者算子或者层,或者包括子图、算子、层(layer)中的两个或多个。本领域技术人员能够理解,一个子图(subgraph)为神经网络模型中一个或多个层组成的计算图。一个层可以对应一个或者多个算子。
参照图2,给出了本发明实施例中的一种模型分割成多个子模块的示意图。图2中,模型被分割为10层,第1层为layer 1,第二层为layer2,以此类推,第10层为layer 10。
步骤103,将多个子模块分配给终端设备中的至少一个硬件平台。
在具体实施中,目标硬件平台的个数可以为一个或多个。在将分割得到的多个子模块分配给目标硬件设备之前,可以先获取所有目标硬件平台对应的剩余算力。之后,将分割得到的多个子模块分配给至少一个目标硬件平台。
在本发明实施例中,可以按照剩余算力从高到低的顺序,优先将分割得到的多个子模块分配给剩余算力最高的第一目标硬件平台。若第一目标硬件平台对应的剩余算力能够满足所有子模块运算所需的算力,则可以将所有子模块均分配给第一目标硬件平台;若第一目标硬件平台对应的剩余算力无法满足所有子模块运算所需的算力,则可以按照剩余算力从高到低的顺序,将分割得到的多个子模块分配给剩余算力最高的前N个目标硬件平台。
例如,GPU的剩余算力高于NPU的剩余算力,NPU的剩余算力高于CPU的剩余算力,对神经网络模型进行分割,得到10个子模块。GPU的剩余算力能够满足运行10个子模块的运算,则将分割得到的10个子模块均分配给GPU。
具体地,将分割得到的多个子模块分配给剩余算力最高的前N个目标硬件平台,包括:根据第i个目标硬件平台对应的剩余算力,确定第i个目标硬件平台的剩余算力所能够运行的最大子模块个数M,为第i个目标硬件平台分配M个子模块。
例如,结合图2。GPU的剩余算力高于NPU的剩余算力,NPU的剩余算力高于CPU的剩余算力,对神经网络模型进行分割得到的子模块为层,分割得到的层数为10。GPU的剩余算力能够满足6层的运算,NPU的剩余算力能够满足3层的运算,CPU的剩余算力能够满足2层的运算。则为GPU分配6层,为NPU分配3层,为CPU分配1层。
在具体实施中,更进一步地,可以根据第i个目标硬件平台对应的剩余算力,确定第i个目标硬件平台所能够运行的连续的最大子模块个数M,进而为第i个目标硬件平台分配连续的M个子模块。
例如,GPU的剩余算力高于NPU的剩余算力,NPU的剩余算力高于CPU的剩余算力,对神经网络模型进行分割得到的层数为10。GPU的剩余算力能够满足6层的运算,NPU的剩余算力能够满足3层的运算,CPU的剩余算力能够满足2层的运算。则将第1~6层分配给GPU,将第7~9层分配给NPU,将第10层分配给CPU。
又如,GPU的剩余算力高于NPU的剩余算力,NPU的剩余算力高于CPU的剩余算力,对神经网络模型进行分割得到的层数为10。GPU的剩余算力能够满足10层的运算,NPU的剩余算力能够满足4层的运算,CPU的剩余算力能够满足2层的运算。则将第1~6层分配给GPU,将第7~10层分配给NPU。该示例中,将尽量多的连续层分配至同一硬件平台。
通过尽量地将多个连续的子模块分配给同一个硬件平台,从而使得分配子模块时的通信开销、拷贝开销较少。
在具体实施中,在剩余算力最高的硬件平台能够满足所有层的运算需求时,也可以将分割得到的层分配给多个硬件平台。对于剩余算力较高的硬件平台,可以为其分配较多的层;对于剩余算力较低的硬件平台,可以为其分配较少的层。
例如,GPU的剩余算力高于NPU的剩余算力,NPU的剩余算力高于CPU的剩余算力,对神经网络模型进行分割得到的层数为10。GPU的剩余算力能够满足10层的运算,NPU的剩余算力能够满足4层的运算,CPU的剩余算力能够满足2层的运算。则为GPU分配5层,为NPU分配3层,为CPU分配2层。
综上可见,将加载的目标神经网络分割成多个子模块,根据终端设备中各硬件平台的处理能力信息,将多个子模块分配给终端设备的至少一个硬件平台。由此,可以由终端设备中不同的硬件平台对目标神经网络模型的一部分进行运算,从而实现神经网络模型在不同硬件平台上的统一调度,能够充分利用终端设备中不同的硬件平台的硬件资源,提高推理效率。
参照图3,给出了本发明实施例中的一种异构计算调度装置30,应用于终端设备中,包括:加载单元301、分割单元302以及分配单元303,其中:
加载单元301,用于加载目标神经网络模型;
分割单元302,用于将所述目标神经网络模型分割成多个子模块;
分配单元303,用于将所述多个子模块分配给所述终端设备中的至少一个硬件平台。
在具体实施中,上述加载单元301、分割单元302以及分配单元303对应的执行过程可以对应参照步骤101~步骤103,此处不做赘述。
在具体实施中,关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。
例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行步骤101~步骤103所提供的异构计算调度方法的步骤。
本发明实施例还提供了一种异构计算调度装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行步骤101~步骤103所提供的异构计算调度方法的步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指示相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (13)

1.一种异构计算调度方法,应用于终端设备,其特征在于,包括:
加载目标神经网络模型;
将所述目标神经网络模型分割成多个子模块;
将所述多个子模块分配给所述终端设备中的至少一个硬件平台。
2.如权利要求1所述的异构计算调度方法,其特征在于,所述将所述目标神经网络模型分割成多个子模块,包括:
根据所述终端设备中各硬件平台的处理能力信息,确定所述终端设备中支持对所述子模块进行运算的目标硬件平台;
根据各目标硬件平台的剩余算力,将所述目标神经网络模型分割成多个子模块。
3.如权利要求2所述的异构计算调度方法,其特征在于,所述根据各目标硬件平台的剩余算力,将所述目标神经网络模型分割成多个子模块,包括:
根据各目标硬件平台的剩余算力,以及预设的分割条件和/或开销约束条件,确定最优的模型分割方式;所述分割条件包括如下至少一种:同一目标硬件平台上的连续子模块个数最大化、子模块的总数最小化、目标硬件平台的剩余算力利用效率最大化;所述开销约束条件包括以下至少一种:所述子模块对应的内存拷贝开销、所述子模块对应的通信开销;
采用所述最优的模型分割方式,将所述目标神经网络模型分割成多个子模块。
4.如权利要求2所述的异构计算调度方法,其特征在于,所述根据各目标硬件平台的剩余算力,将所述目标神经网络模型分割成多个子模块,包括:
根据各目标硬件平台的剩余算力,以及预设的分割条件和/或开销约束条件,搜索最优模型分割方式;
根据搜索得到的最优模型分割方式,将所述目标神经网络模型分割成多个子模块。
5.如权利要求2~4任一项所述的异构计算调度方法,其特征在于,所述将所述多个子模块分配给所述终端设备中的至少一个硬件平台,包括:根据所述各目标硬件平台对应的剩余算力,将所述多个子模块分配给至少一个目标硬件平台。
6.如权利要求5所述的异构计算调度方法,其特征在于,所述根据所述各目标硬件平台对应的剩余算力,将所述多个子模块分配给至少一个目标硬件平台,包括:
若所述剩余算力最高的第一目标硬件平台对应的剩余算力能够满足所述多个子模块运算所需的算力,则将所述多个子模块分配给所述第一目标硬件平台;若所述第一目标硬件平台对应的剩余算力无法满足所述多个子模块运算所需的算力,则按照剩余算力从高到低的顺序,将所述多个子模块分配给剩余算力最高的前N个目标硬件平台;N≥2。
7.如权利要求6所述的异构计算调度方法,其特征在于,所述按照剩余算力从高到低的顺序,将所述多个子模块分配给剩余算力最高的前N个目标硬件平台,包括:
根据第i个目标硬件平台对应的剩余算力,确定所述第i个目标硬件平台的剩余算力能够运行的最大子模块个数M;
为所述第i个目标硬件平台分配M个子模块;
第i个目标硬件平台为剩余算力最高的前N-1个目标硬件平台中的一个,且为前N-1个目标硬件平台均分配子模块之后,剩余的子模块分配给第N个目标硬件平台。
8.如权利要求7所述的异构计算调度方法,其特征在于,所述为所述第i个目标硬件平台分配M个子模块,包括:
为所述第i个目标硬件平台分配连续的M个子模块。
9.如权利要求5所述的异构计算调度方法,其特征在于,所述根据所述各目标硬件平台对应的剩余算力,将所述多个子模块分配给至少一个目标硬件平台,包括:
将所述多个子模块分配给剩余算力最高的前N个目标硬件平台;所述剩余算力最高的前N个目标硬件平台的总剩余算力满足所述多个子模块运算所需的算力。
10.如权利要求1所述的异构计算调度方法,其特征在于,所述子模块包括如下至少一种:层、算子或者子图。
11.一种异构计算调度装置,应用于终端设备,其特征在于,包括:
加载单元,用于加载目标神经网络模型;
分割单元,用于将所述目标神经网络模型分割成多个子模块;
分配单元,用于将所述多个子模块分配给所述终端设备中的至少一个硬件平台。
12.一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1~10任一项所述的异构计算调度方法的步骤。
13.一种异构计算调度装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1~10任一项所述的异构计算调度方法的步骤。
CN202310093023.0A 2023-02-03 2023-02-03 异构计算调度方法及装置、计算机可读存储介质 Pending CN115983359A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310093023.0A CN115983359A (zh) 2023-02-03 2023-02-03 异构计算调度方法及装置、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310093023.0A CN115983359A (zh) 2023-02-03 2023-02-03 异构计算调度方法及装置、计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN115983359A true CN115983359A (zh) 2023-04-18

Family

ID=85976127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310093023.0A Pending CN115983359A (zh) 2023-02-03 2023-02-03 异构计算调度方法及装置、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115983359A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116451757A (zh) * 2023-06-19 2023-07-18 山东浪潮科学研究院有限公司 一种神经网络模型的异构加速方法、装置、设备及介质
CN116700934A (zh) * 2023-08-04 2023-09-05 浪潮电子信息产业股份有限公司 一种多元异构算力设备调度方法、装置、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116451757A (zh) * 2023-06-19 2023-07-18 山东浪潮科学研究院有限公司 一种神经网络模型的异构加速方法、装置、设备及介质
CN116451757B (zh) * 2023-06-19 2023-09-08 山东浪潮科学研究院有限公司 一种神经网络模型的异构加速方法、装置、设备及介质
CN116700934A (zh) * 2023-08-04 2023-09-05 浪潮电子信息产业股份有限公司 一种多元异构算力设备调度方法、装置、设备及存储介质
CN116700934B (zh) * 2023-08-04 2023-11-07 浪潮电子信息产业股份有限公司 一种多元异构算力设备调度方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN115983359A (zh) 异构计算调度方法及装置、计算机可读存储介质
US11593644B2 (en) Method and apparatus for determining memory requirement in a network
CN112465146B (zh) 一种量子与经典混合云平台以及任务执行方法
CN113377540A (zh) 集群资源调度方法及装置、电子设备和存储介质
CN111274034A (zh) 模型推理的资源分配方法、装置、计算机设备和存储介质
CN105824705B (zh) 一种任务分配方法和电子设备
CN112905342A (zh) 资源调度方法、装置、设备及计算机可读存储介质
CN116701001B (zh) 目标任务分配方法、装置、电子设备及存储介质
CN112862083A (zh) 一种边缘环境下的深度神经网络推断方法及装置
CN114546493A (zh) 核共享方法及装置、处理核、电子设备、介质
CN117033170A (zh) 测试任务分配方法、装置、设备、存储介质和程序产品
CN105373451B (zh) 一种虚拟机放置的方法及装置
US20170090820A1 (en) Method and device for operating a many-core system
CN116149843A (zh) 基于动态规划的资源分配方法、网络及存储介质和处理器
CN116360961A (zh) 基于多线程的内存分配方法及装置
CN116361203A (zh) 内存分配方法及装置、电子设备、计算机可读介质
CN112948087A (zh) 一种基于拓扑排序的任务调度方法及系统
KR101989033B1 (ko) 플랫폼 관리 장치 및 방법
KR101916809B1 (ko) 가상 클러스터 배치 방법 및 이를 제공하기 위한 장치
CN114265556B (zh) 一种数据存储方法及装置
TWI813042B (zh) 神經網路割分方法、系統、終端設備及存儲介質
US11855908B2 (en) Resource allocation in cloud computing systems
CN117076111A (zh) 编译方法、装置、设备及计算机可读存储介质
CN118708533A (zh) 面向K8s的多机多卡GPU最优通信调度方法和系统
CN117873640A (zh) 基于numa架构的虚拟机调度方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination