CN111783970A - 一种数据处理方法及电子设备 - Google Patents
一种数据处理方法及电子设备 Download PDFInfo
- Publication number
- CN111783970A CN111783970A CN202010619432.6A CN202010619432A CN111783970A CN 111783970 A CN111783970 A CN 111783970A CN 202010619432 A CN202010619432 A CN 202010619432A CN 111783970 A CN111783970 A CN 111783970A
- Authority
- CN
- China
- Prior art keywords
- processors
- processor
- data
- state information
- determining
- 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
Links
- 238000003672 processing method Methods 0.000 title abstract description 7
- 238000004364 calculation method Methods 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims abstract description 46
- 230000004044 response Effects 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 60
- 238000005094 computer simulation Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 18
- 238000013527 convolutional neural network Methods 0.000 claims description 10
- 230000000873 masking effect Effects 0.000 claims 1
- 238000009795 derivation Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Neurology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种数据处理方法及电子设备,包括:响应于接收的计算指令,基于统一接口获得异构系统中多个处理器的运行状态信息,所述多个处理器包括多个不同类型的处理器,所述统一接口能够屏蔽所述处理器的类型信息;至少基于所述运行状态信息从所述多个处理器中确定执行处理器,所述运行状态信息用于表征所述多个处理器中每个处理器的计算空间占用情况。本申请实施例的数据处理方法能够在异构系统中实现计算任务分配。
Description
技术领域
本申请实施例涉及智能设备领域,特别涉及一种电子设备。
背景技术
通常,实现AI的硬件架构为多种处理器的组合,也即,实现AI计算的硬件架构组成了异构系统,AI的实现需要基于该异构系统实现软件层面的计算输出。但是现有技术中,在异构系统中,对于计算任务的分配均是固定的,也就是,在异构系统中实际上没有严格意义上的任务分配,计算任务均是任意分配给各个处理器。如此,无法实现电子设备中所有计算资源的充分使用,及无法使设备实现最大计算力的效果。
申请内容
本申请实施例提供了一种能够在异构系统中实现计算任务分配的数据处理方法及电子设备。
为了解决上述技术问题,本申请实施例提供了一种数据处理方法,包括:
响应于接收的计算指令,基于统一接口获得异构系统中多个处理器的运行状态信息,所述多个处理器包括多个不同类型的处理器,所述统一接口能够屏蔽所述处理器的类型信息;
至少基于所述运行状态信息从所述多个处理器中确定执行处理器,所述运行状态信息用于表征所述多个处理器中每个处理器的计算空间占用情况。
作为优选,所述计算空间占用情况包括占用率,
所述基于统一接口获得异构系统中多个处理器的运行状态信息,包括:至少基于统一接口获得所述多个处理器中的每个处理器的处理器占用率;
所述至少基于所述运行状态从所述多个处理器中确定执行处理器,包括:至少基于所述处理器占用率从所述多个处理器中确定出处理器占用率满足特定阈值范围的执行处理器。
作为优选,所述多个处理器中的至少部分处理器加载了不同的计算模型,
所述至少基于所述运行状态信息从所述多个处理器中确定执行处理器,包括:
基于所述运行状态信息从所述多个处理器中确定出满足特定要求的候选处理器;
基于所述待处理的计算任务信息确定待处理数据的数据特征;
基于所述数据特征从所述候选处理器中确定所述执行处理器,其中,所述执行处理器加载的计算模型在执行数据处理过程中所需的数据特征与所述待处理数据的数据特征相匹配。
作为优选,所述多个处理器中的至少部分处理器加载了相同的计算模型,
所述至少基于所述运行状态信息从所述多个处理器中确定执行处理器,包括:
基于所述运行状态信息从所述多个处理器中确定出满足特定要求的候选处理器;
基于所述多个处理器的优先级确定所述执行处理器。
作为优选,还包括:
对多个用于辅助执行待处理的计算任务的所述计算模型进行处理;
将处理后的多个所述计算模型分别加载至所述多个处理器中,以辅助所述多个处理器执行对应的计算任务。
作为优选,所述多个处理器中的每个处理器内至少加载一个所述计算模型,所述每个处理器加载的计算模型相同或者不同。
作为优选,所述多个所述计算模型基于开放式运算语言实现,
所述对多个用于辅助执行待处理的计算任务的所述计算模型进行处理,并将处理后的多个所述计算模型分别加载至所述多个处理器中,包括:
动态编译基于开放式运算语言实现的多个所述计算模型,并将编译后的多个所述计算模型分别加载至所述多个处理器中。
作为优选,所述多个处理器中包括第一处理器,所述第一处理器为单芯片处理器,所述单芯片处理器上集成有用于接收采集到的图像的图像接收模块、用于对所述图像进行图像识别的卷积神经网络模型以及用于处理,以及用于输出图像识别结果的微处理器。
作为优选,所述多个不同类型的处理器至少包括中央处理器、图形处理器和可配置处理器。
本发明另一实施例同时提供一种电子设备,包括:
第一处理器,其响应于接收的计算指令,基于统一接口获得异构系统中多个第二处理器的运行状态信息,所述多个第二处理器包括多个不同类型的处理器,所述统一接口能够屏蔽所述处理器的类型信息;并至少基于所述运行状态信息从所述多个第二处理器中确定执行处理器,所述运行状态信息用于表征所述多个第二处理器中每个第二处理器的计算空间占用情况。
基于上述实施例的公开可以获知,本申请实施例具备的有益效果包括能够在异构系统中基于各个处理器的运行状态而进行待处理的计算任务的合理分配,使提高异构系统的内各个处理器的计算空间的最大化使用,提高电子设备整体的数据计算能力及效率。
附图说明
图1为本发明实施例中的数据方法流程图。
图2为本发明另一实施例中的数据方法流程图。
图3为本发明另一实施例中的数据方法流程图。
图4为本发明另一实施例中的数据方法流程图。
图5为本发明实施例中的方法应用图。
图6为本发明实施例中的第一处理器的结构框图。
图7为本发明实施例中的电子设备的结构框图。
具体实施方式
下面,结合附图对本申请的具体实施例进行详细的描述,但不作为本申请的限定。
应理解的是,可以对此处公开的实施例做出各种修改。因此,下述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本公开的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本公开的具体实施例;然而,应当理解,所公开的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本公开。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。
下面,结合附图详细的说明本申请实施例。
如图1所示,本发明实施例提供一种数据处理方法,包括:
响应于接收的计算指令,基于统一接口获得异构系统中多个处理器的运行状态信息,多个处理器包括多个不同类型的处理器,统一接口能够屏蔽处理器的类型信息;
至少基于运行状态信息从多个处理器中确定执行处理器,运行状态信息用于表征多个处理器中每个处理器的计算空间占用情况。
例如,异构系统中包含多个处理器,该多个处理器的种类至少部分不同,如第一处理器、第二处理器及第三处理器为种类不同,甚至是由不同厂商制备的处理器,而第一处理器与第二处理器,第三处理器的数量不唯一,可仅为一个,也可分别为多个。为了能够在异构系统中实现语言的统一,使各个处理器之间或各个处理器与异构计算平台之间均能够进行数据交互,可预先在其中一个处理器中,例如中央处理器(CPU)中通过软件开发工具包(SDK)装设异构系统计算程序,其可支持以例如开放程序语言(Open Computing Language,Opencl)来为异构系统营造出可通用该语言的环境,进而支持各处理器间,以及各处理器与异构计算平台间的数据交互,而该异构计算平台可认为由CPU中装设上述异构系统计算程序的模块而形成,或者该异构计算平台也可理解为一个主控制模块,该模块与CPU中的计算模块相独立,该主控制模块亦可获得CPU中计算模块的运行状态,并为其分配任务。进一步地,当用户输入了计算任务时,CPU会发起一计算指令,异构计算平台响应于该计算指令,通过统一接口,即为规格统一的一套接口而获得异构系统中多个处理器的运行状态信息。基于该统一接口,异构计算平台可屏蔽各处理器的实际身份,使对于异构计算平台而言均是可直接进行使用控制的处理器,同时基于该统一接口还可确保进行交互的数据规格统一。在实际应用中,该统一接口可为虚拟接口,也可为各个处理器的实体接口,或总线接口。在异构计算平台获得了各个处理器的运行状态信息后,相当于CPU获得了各个处理器的运行状态信息后,CPU中的异构计算平台至少基于运行状态信息而从多个处理器中确定执行处理器,该运行状态信息用于表征多个处理器中每个处理器的计算空间占用情况,使基于该占用情况确定各个处理器还能否继续执行该待处理的计算任务,从而从多个处理器中确定出具有足够的计算空间来处理计算任务的处理器,避免现有技术中出现仅集中使用一个处理器,而使其余处理器处于空闲状态的现象发生。
基于上述实施例的公开可以获知,本申请实施例具备的有益效果包括能够在异构系统中基于各个处理器的运行状态而进行待处理的计算任务的合理分配,使提高异构系统的内各个处理器的计算空间的最大化使用,提高电子设备整体的数据计算能力及效率。
进一步地,本实施例中,计算空间占用情况包括占用率,也就是处理器占用率。
基于统一接口获得异构系统中多个处理器的运行状态信息,包括:
至少基于统一接口获得多个处理器中的每个处理器的处理器占用率;
至少基于运行状态从多个处理器中确定执行处理器,包括:
至少基于处理器占用率从多个处理器中确定出处理器占用率满足特定阈值范围的执行处理器。
例如,异构计算平台通过同一接口获得异构系统中每个处理器的处理器占用率,然后基于各个处理器的处理器占用率情况与特定的通过处理器占用率来衡量该处理器可用情况的阈值,对多个处理器的运行情况,使用情况进行判断,最终确定出至少处理器使用率满足条件的执行处理器。例如,多个处理器的处理器占用率分别为60%,70%,30%,而特定阈值为0-40%,那么此时便可确定出处理器占用率为30%的处理器为执行处理器,用于执行待处理的计算任务。
进一步地,本实施例中的多个处理器中的每个处理器内至少加载一个计算模型,每个处理器加载的计算模型可以相同,也可以不同。
具体地,如图2所示,当本实施例中的多个处理器中的至少部分处理器加载了不同的计算模型时,
至少基于运行状态信息从多个处理器中确定执行处理器,包括:
基于运行状态信息从多个处理器中确定出满足特定要求的候选处理器;
基于待处理的计算任务信息确定待处理数据的数据特征;
基于数据特征从候选处理器中确定执行处理器,其中,执行处理器加载的计算模型在执行数据处理过程中所需的数据特征与待处理数据的数据特征相匹配。
具体地,每个处理器中均装载有计算模型,如AI模型等,当然并不局限于此。当多个处理器中至少部分处理器加载了不同的计算模型时,在基于运行状态确定执行处理器时,就需要首先基于运行状态信息确定出候选处理器,例如基于运行状态信息确定出处理器占用率位于0-40%内的处理器,并定义该多个处理器为候选处理器。接着基于待处理的计算任务信息确定待处理数据的数据特征,例如待处理任务为对图像数据进行人脸识别,而待处理数据为包含人脸图像的图像数据,那么该数据特征即可认为是人脸特征。而倘若待处理任务为对音频数据进行声纹识别,而待处理数据为包含人声数据的音频数据,那么该数据特征即可认为是人声特征。待确定了数据特征后,便可基于该数据特征来与各个候选处理器中装载的计算模型在进行数据推导时所需的特征数据进行匹配,并将匹配成功的计算模型所在的候选处理器定义为执行处理器。例如,计算模型为卷积神经网络模型,其在进行数据推导时需要接收匹配地特征数据,该特征数据由处理器内用于对数据进行预处理的模块通过对待处理数据进行预处理得到。倘若一计算模型是用于人脸识别的模型,或声纹识别的模型,那么其接收的特征数据必然为人脸特征数据,声音特征数据,因此该计算模型在数据推导过程中所需的特征数据就会与上述得到的待处理数据的数据特征相匹配,此时异构计算平台便可确定具有该计算模型的候选处理器能够处理该待处理数据,可成为执行处理器。
进一步地,如图3所示,当本实施例中的多个处理器中,至少部分处理器加载了相同的计算模型时,
至少基于运行状态信息从多个处理器中确定执行处理器,包括:
基于运行状态信息从多个处理器中确定出满足特定要求的候选处理器;
基于多个处理器的优先级确定执行处理器。
例如,首先基于运行状态信息确定出候选处理器,例如基于运行状态信息确定出处理器占用率位于0-40%内的处理器,并定义该多个处理器为候选处理器。然后基于各个处理器的优先级来确定最终的执行处理器。例如,本实施例中的多个不同类型的处理器至少包括中央处理器(CPU)、图形处理器(GPU)和可配置处理器(FPGA)。然后优先级从高到低位为可配置处理器,图形处理器,中央处理器。
另外,优选地,电子设备内可预先存储有多个优先级顺序,多个优先级分别与多个不同的待处理地计算数据相匹配,或与多个不同的待处理的计算任务类型相匹配,在确定执行处理器时,可基于待处理地计算数据或计算任务类型确定匹配地优先级,并由该匹配地优先级从候选处理器中确定出执行处理器。例如,有的优先级的原则为可配置处理器更适合做AI计算,然后是图形处理器,最后是中央处理器。而有的优先级原则为图形处理器更适合做图像处理,然后是可配置处理器,最后是中央处理器。
进一步地,如图4所示,本实施例中在对多个处理器中加载计算模型时,包括:
对多个用于辅助执行待处理的计算任务的计算模型进行处理;
将处理后的多个计算模型分别加载至多个处理器中,以辅助多个处理器执行对应的计算任务。
也即,异构计算平台需要预先对多个用于辅助执行待处理任务的计算模型进行处理,各个处理器中仅能够加载运行经处理后的计算模型。
具体地,如图5所示,本实施例中的多个计算模型均为基于开放式运算语言实现的卷积神经网络模型(相当于图5中的cnn.cl);
在对多个用于辅助执行待处理的计算任务的计算模型进行处理,并将处理后的多个计算模型分别加载至多个处理器中,包括:
动态编译基于开放式运算语言实现的多个计算模型,并将编译后的多个计算模型分别加载至多个处理器中。
例如,该多个计算模型均为卷积神经网络模型,且在异构系统中均基于开放程序语言实现,为了各个计算模型被加载到各个处理器中后能够被正常运行,故需要对各个计算模型进行处理,具体为对多个计算模型进行动态编译,以得到各个处理器对计算模型的可执行程序(相当于图5中的cnn.aocx),最后将该可执行程序加载到处理器中,使处理器能够直接运行。
具体地,继续结合图5,在本实施例中的方法在实际应用时,具体流程可包括:
用户启动目标应用,如AI app,基于该应用输入计算指令,该应用获得用户输入的计算指令后,装设有Opencl程序的CPU发起计算指令,并接收待处理的计算数据,生成计算任务。异构计算平台获取异构系统中各个处理器的处理器占用率,其中包括CPU的CPU占用率。CPU中的异构计算平台基于各个处理器的处理器占用率确定出数值位于0-40%的阈值范围内的处理器作为候选处理器。接着,异构计算平台确定待处理数据的数据特征,例如该数据特征为人脸数据特征,此时,异构计算平台基于该数据特征从候选处理器中匹配出在数据推导过程中所需的特征数据相匹配的计算模型,具体为确定出候选处理器中具有用于人脸识别的计算模型,之后便可确定具有该计算模型的候选处理器为执行处理器。或者,基于优选级从候选处理器中确定执行处理器;或基于该数据特征确定匹配地优先级,并基于该匹配地优先级从候选处理器中确定执行处理器。其中,倘若确定出候选处理器中包含多个处理器均具有人脸识别模型时,也可基于上述优先级法来辅助进一步确定出执行处理器。
进一步地,如图6所示,为了应对目前对于图形处理的强烈需求,本实施例还提出一种图形处理效率更高的处理器,该处理器可应用于本实施的异构系统中,作为第一处理器,该第一处理器优选为单芯片处理器,该单芯片上集成有用于接收采集到的图像的图像接收模块、用于对图像进行图像识别的卷积神经网络模型以及用于处理,以及用于输出图像识别结果的微处理器。因此,基于本实施例中的第一处理器,其可独立完成从图像采集模块,如摄像头处接收采集的图像、对该图像进行一系列的图像处理,以及控制输出处理后的图像的全部操作,而无需如现有技术中一样需要同时设置多个电子器件来一同配合完成上述各操作,如此不仅减少了电子器件的设置,降低了成本,节省了装设空间,而且大大提高了图形处理的效率,满足了用户对图形处理的需求。
具体实施时,该单芯片处理器可为可配置处理器,其通过改变编程以及改变内部晶体管间的连接关系实现图像接收模块、图形处理模型、微处理器的形成,其中图形处理模型为卷积神经网络模型,例如为AI模型。该处理器对图形进行处理时,包括:
从摄像头处读取采集的图像数据,然后对该图像进行预处理,包括滤波、降噪、白平衡处理。接着将预处理后的图像传输至图形处理模型中进行进一步识别处理,如进行人脸识别处理等,待处理完成后,图形处理模型将识别处理后的数据传输至微处理器(MCU)中,基于该微处理器将识别处理后的图像数据或作为本地响应结果而输出图像处理结果,或发送给与电子设备建立了通信连接的其他网络设备。
如图7所示,本发明另一实施例同时公开一种电子设备,包括:
处理模块,其集成于一处理器中,处理模块用于响应于接收的计算指令,基于统一接口获得异构系统中多个处理器的运行状态信息,多个处理器包括多个不同类型的处理器,统一接口能够屏蔽处理器的类型信息;并至少基于运行状态信息从多个处理器中确定执行处理器,运行状态信息用于表征多个处理器中每个处理器的计算空间占用情况。
例如,异构系统中包含多个处理器,该多个处理器的种类至少部分不同,如第一处理器、第二处理器及第三处理器为种类不同,甚至是由不同厂商制备的处理器,而第一处理器与第二处理器,第三处理器的数量不唯一,可仅为一个,也可分别为多个。为了能够在异构系统中实现语言的统一,使各个处理器之间或各个处理器与异构计算平台之间均能够进行数据交互,可预先在其中一个处理器中,例如中央处理器(CPU)中装设异构系统计算程序,其可支持以例如开放程序语言(Open Computing Language,Opencl)来为异构系统营造出可通用该语言的环境,进而支持各处理器间,以及各处理器与异构计算平台间的数据交互,而该异构计算平台可认为由CPU中装设上述异构系统计算程序的模块而形成,或者该异构计算平台也可理解为一个主控制模块,该模块与CPU中的计算模块相独立,该主控制模块亦可获得CPU中计算模块的运行状态,并为其分配任务。进一步地,当用户输入了计算任务时,CPU会发起一计算指令,异构计算平台响应于该计算指令,通过统一接口,即为规格统一的一套接口而获得异构系统中多个处理器的运行状态信息。基于该统一接口,异构计算平台可屏蔽各处理器的实际身份,使对于异构计算平台而言均是可直接进行使用控制的处理器,同时基于该统一接口还可确保进行交互的数据规格统一。在实际应用中,该统一接口可为虚拟接口,也可为各个处理器的实体接口,或总线接口。在异构计算平台获得了各个处理器的运行状态信息后,至少基于运行状态信息而从多个处理器中确定执行处理器,该运行状态信息用于表征多个处理器中每个处理器的计算空间占用情况,使基于该占用情况确定各个处理器还能否继续执行该待处理的计算任务,从而从多个处理器中确定出具有足够的计算空间来处理计算任务的处理器,避免现有技术中出现仅集中使用一个处理器,而使其余处理器处于空闲状态的现象发生。
基于上述实施例的公开可以获知,本申请实施例具备的有益效果包括能够在异构系统中基于各个处理器的运行状态而进行待处理的计算任务的合理分配,使提高异构系统的内各个处理器的计算空间的最大化使用,提高电子设备整体的数据计算能力及效率。
进一步地,本实施例中,计算空间占用情况包括占用率,也就是处理器占用率。
基于统一接口获得异构系统中多个处理器的运行状态信息,包括:
至少基于统一接口获得多个处理器中的每个处理器的处理器占用率;
至少基于运行状态从多个处理器中确定执行处理器,包括:、
至少基于处理器占用率从多个处理器中确定出处理器占用率满足特定阈值范围的执行处理器。
例如,异构计算平台通过同一接口获得异构系统中每个处理器的处理器占用率,然后基于各个处理器的处理器占用率情况与特定的通过处理器占用率来衡量该处理器可用情况的阈值,对多个处理器的运行情况,使用情况进行判断,最终确定出至少处理器使用率满足条件的执行处理器。例如,多个处理器的处理器占用率分别为60%,70%,30%,而特定阈值为0-40%,那么此时便可确定出处理器占用率为30%的处理器为执行处理器,用于执行待处理的计算任务。
进一步地,本实施例中的多个处理器中的每个处理器内至少加载一个计算模型,每个处理器加载的计算模型可以相同,也可以不同。
具体地,当本实施例中的多个处理器中的至少部分处理器加载了不同的计算模型时,
至少基于运行状态信息从多个处理器中确定执行处理器,包括:
基于运行状态信息从多个处理器中确定出满足特定要求的候选处理器;
基于待处理的计算任务信息确定待处理数据的数据特征;
基于数据特征从候选处理器中确定执行处理器,其中,执行处理器加载的计算模型在执行数据处理过程中所需的数据特征与待处理数据的数据特征相匹配。
具体地,每个处理器中均装载有计算模型,如AI模型等,当然并不局限于此。当多个处理器中至少部分处理器加载了不同的计算模型时,在基于运行状态确定执行处理器时,就需要首先基于运行状态信息确定出候选处理器,例如基于运行状态信息确定出处理器占用率位于0-40%内的处理器,并定义该多个处理器为候选处理器。接着基于待处理的计算任务信息确定待处理数据的数据特征,例如待处理任务为对图像数据进行人脸识别,而待处理数据为包含人脸图像的图像数据,那么该数据特征即可认为是人脸特征。而倘若待处理任务为对音频数据进行声纹识别,而待处理数据为包含人声数据的音频数据,那么该数据特征即可认为是人声特征。待确定了数据特征后,便可基于该数据特征来与各个候选处理器中装载的计算模型在进行数据推导时所需的特征数据进行匹配,并将匹配成功的计算模型所在的候选处理器定义为执行处理器。例如,计算模型为卷积神经网络模型,其在进行数据推导时需要接收匹配地特征数据,该特征数据由处理器内用于对数据进行预处理的模块通过对待处理数据进行预处理得到。倘若一计算模型是用于人脸识别的模型,或声纹识别的模型,那么其接收的特征数据必然为人脸特征数据,声音特征数据,因此该计算模型在数据推导过程中所需的特征数据就会与上述得到的待处理数据的数据特征相匹配,此时异构计算平台便可确定具有该计算模型的候选处理器能够处理该待处理数据,可成为执行处理器。
进一步地,当本实施例中的多个处理器中,至少部分处理器加载了相同的计算模型时,
至少基于运行状态信息从多个处理器中确定执行处理器,包括:
基于运行状态信息从多个处理器中确定出满足特定要求的候选处理器;
基于多个处理器的优先级确定执行处理器。
例如,首先基于运行状态信息确定出候选处理器,例如基于运行状态信息确定出处理器占用率位于0-40%内的处理器,并定义该多个处理器为候选处理器。然后基于各个处理器的优先级来确定最终的执行处理器。例如,本实施例中的多个不同类型的处理器至少包括中央处理器、图形处理器和可配置处理器。然后优先级从高到低位为可配置处理器,图形处理器,中央处理器。
另外,优选地,电子设备内可预先存储有多个优先级顺序,多个优先级分别与多个不同的待处理地计算数据相匹配,或与多个不同的待处理的计算任务类型相匹配,在确定执行处理器时,可基于待处理地计算数据或计算任务类型确定匹配地优先级,并由该匹配地优先级从候选处理器中确定出执行处理器。例如,有的优先级的原则为可配置处理器更适合做AI计算,然后是图形处理器,最后是中央处理器。而有的优先级原则为图形处理器更适合做图像处理,然后是可配置处理器,最后是中央处理器。
进一步地,本实施例中在对多个处理器中加载计算模型时,包括:
对多个用于辅助执行待处理的计算任务的计算模型进行处理;
将处理后的多个计算模型分别加载至多个处理器中,以辅助多个处理器执行对应的计算任务。
也即,异构计算平台需要预先对多个用于辅助执行待处理任务的计算模型进行处理,各个处理器中仅能够加载运行经处理后的计算模型。
具体地,本实施例中的多个计算模型均为基于开放式运算语言实现的卷积神经网络模型;
在对多个用于辅助执行待处理的计算任务的计算模型进行处理,并将处理后的多个计算模型分别加载至多个处理器中,包括:
动态编译基于开放式运算语言实现的多个计算模型,并将编译后的多个计算模型分别加载至多个处理器中。
例如,该多个计算模型均为卷积神经网络模型,且在异构系统中均基于开放程序语言实现,为了各个计算模型被加载到各个处理器中后能够被正常运行,故需要对各个计算模型进行处理,具体为对多个计算模型进行动态编译,以得到各个处理器对计算模型的可执行程序,最后将该可执行程序加载到处理器中,使处理器能够直接运行。
具体地,在本实施例中的方法在实际应用时,具体流程可包括:
用户启动目标应用,如AI app,基于该应用输入计算指令,该应用获得用户输入的计算指令后,装设有Opencl程序的CPU发起计算指令,并接收待处理的计算数据,生成计算任务。异构计算平台获取异构系统中各个处理器的处理器占用率,其中包括CPU的CPU占用率。CPU中的异构计算平台基于各个处理器的处理器占用率确定出数值位于0-40%的阈值范围内的处理器作为候选处理器。接着,异构计算平台确定待处理数据的数据特征,例如该数据特征为人脸数据特征,此时,异构计算平台基于该数据特征从候选处理器中匹配出在数据推导过程中所需的特征数据相匹配的计算模型,具体为确定出候选处理器中具有用于人脸识别的计算模型,之后便可确定具有该计算模型的候选处理器为执行处理器。或者,基于优选级从候选处理器中确定执行处理器;或基于该数据特征确定匹配地优先级,并基于该匹配地优先级从候选处理器中确定执行处理器。其中,倘若确定出候选处理器中包含多个处理器均具有人脸识别模型时,也可基于上述优先级法来辅助进一步确定出执行处理器。
进一步地,为了应对目前对于图形处理的强烈需求,本实施例还提出一种图形处理效率更高的处理器,该处理器可应用于本实施的异构系统中,作为第一处理器,该第一处理器优选为单芯片处理器,该单芯片上集成有用于接收采集到的图像的图像接收模块、用于对图像进行图像识别的卷积神经网络模型以及用于处理,以及用于输出图像识别结果的微处理器。因此,基于本实施例中的第一处理器,其可独立完成从图像采集模块,如摄像头处接收采集的图像、对该图像进行一系列的图像处理,以及控制输出处理后的图像的全部操作,而无需如现有技术中一样需要同时设置多个电子器件来一同配合完成上述各操作,如此不仅减少了电子器件的设置,降低了成本,节省了装设空间,而且大大提高了图形处理的效率,满足了用户对图形处理的需求。
具体实施时,该单芯片处理器可为可配置处理器,其通过改变编程以及改变内部晶体管间的连接关系实现图像接收模块、图形处理模型、微处理器的形成,其中图形处理模型为卷积神经网络模型,例如为AI模型。该处理器对图形进行处理时,包括:
从摄像头处读取采集的图像数据,然后对该图像进行预处理,包括滤波、降噪、白平衡处理。接着将预处理后的图像传输至图形处理模型中进行进一步识别处理,如进行人脸识别处理等,待处理完成后,图形处理模型将识别处理后的数据传输至微处理模型中,基于该微处理模型将识别处理后的图像数据或作为本地响应结果而输出图像处理结果,或发送给与电子设备建立了通信连接的其他网络设备。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。
Claims (10)
1.一种数据处理方法,包括:
响应于接收的计算指令,基于统一接口获得异构系统中多个处理器的运行状态信息,所述多个处理器包括多个不同类型的处理器,所述统一接口能够屏蔽所述处理器的类型信息;
至少基于所述运行状态信息从所述多个处理器中确定执行处理器,所述运行状态信息用于表征所述多个处理器中每个处理器的计算空间占用情况。
2.根据权利要求1所述的方法,其中,所述计算空间占用情况包括占用率,
所述基于统一接口获得异构系统中多个处理器的运行状态信息,包括:
至少基于统一接口获得所述多个处理器中的每个处理器的处理器占用率;
所述至少基于所述运行状态从所述多个处理器中确定执行处理器,包括:
至少基于所述处理器占用率从所述多个处理器中确定出处理器占用率满足特定阈值范围的执行处理器。
3.根据权利要求1所述的方法,其中,所述多个处理器中的至少部分处理器加载了不同的计算模型,
所述至少基于所述运行状态信息从所述多个处理器中确定执行处理器,包括:
基于所述运行状态信息从所述多个处理器中确定出满足特定要求的候选处理器;
基于所述待处理的计算任务信息确定待处理数据的数据特征;
基于所述数据特征从所述候选处理器中确定所述执行处理器,其中,所述执行处理器加载的计算模型在执行数据处理过程中所需的数据特征与所述待处理数据的数据特征相匹配。
4.根据权利要求1所述的方法,其中,所述多个处理器中的至少部分处理器加载了相同的计算模型,
所述至少基于所述运行状态信息从所述多个处理器中确定执行处理器,包括:
基于所述运行状态信息从所述多个处理器中确定出满足特定要求的候选处理器;
基于所述多个处理器的优先级确定所述执行处理器。
5.根据权利要求3或4所述的方法,其中,还包括:
对多个用于辅助执行待处理的计算任务的所述计算模型进行处理;
将处理后的多个所述计算模型分别加载至所述多个处理器中,以辅助所述多个处理器执行对应的计算任务。
6.根据权利要求5所述的方法,其中,所述多个处理器中的每个处理器内至少加载一个所述计算模型,所述每个处理器加载的计算模型相同或者不同。
7.根据权利要求3所述的方法,其中,所述多个所述计算模型基于开放式运算语言实现,
所述对多个用于辅助执行待处理的计算任务的所述计算模型进行处理,并将处理后的多个所述计算模型分别加载至所述多个处理器中,包括:
动态编译基于开放式运算语言实现的多个所述计算模型,并将编译后的多个所述计算模型分别加载至所述多个处理器中。
8.根据权利要求1所述的方法,其中,所述多个处理器中包括第一处理器,所述第一处理器为单芯片处理器,所述单芯片处理器上集成有用于接收采集到的图像的图像接收模块、用于对所述图像进行图像识别的卷积神经网络模型以及用于处理,以及用于输出图像识别结果的微处理器。
9.根据权利要求1所述的方法,其中,所述多个不同类型的处理器至少包括中央处理器、图形处理器和可配置处理器。
10.一种电子设备,包括:
处理模块,其集成于一处理器中,所述处理模块用于响应于接收的计算指令,基于统一接口获得异构系统中多个处理器的运行状态信息,所述多个处理器包括多个不同类型的处理器,所述统一接口能够屏蔽所述处理器的类型信息;并至少基于所述运行状态信息从所述多个处理器中确定执行处理器,所述运行状态信息用于表征所述多个处理器中每个处理器的计算空间占用情况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010619432.6A CN111783970A (zh) | 2020-06-30 | 2020-06-30 | 一种数据处理方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010619432.6A CN111783970A (zh) | 2020-06-30 | 2020-06-30 | 一种数据处理方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111783970A true CN111783970A (zh) | 2020-10-16 |
Family
ID=72761316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010619432.6A Pending CN111783970A (zh) | 2020-06-30 | 2020-06-30 | 一种数据处理方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111783970A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559336A (zh) * | 2020-12-09 | 2021-03-26 | 成都海光集成电路设计有限公司 | 自适应调试异构计算芯片的方法、装置、系统及主板芯片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130160016A1 (en) * | 2011-12-16 | 2013-06-20 | Advanced Micro Devices, Inc. | Allocating Compute Kernels to Processors in a Heterogeneous System |
CN108563500A (zh) * | 2018-05-08 | 2018-09-21 | 深圳市零度智控科技有限公司 | 基于云平台的任务调度方法、云平台及计算机存储介质 |
CN108604193A (zh) * | 2016-10-27 | 2018-09-28 | 华为技术有限公司 | 异构系统、计算任务分配方法及装置 |
-
2020
- 2020-06-30 CN CN202010619432.6A patent/CN111783970A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130160016A1 (en) * | 2011-12-16 | 2013-06-20 | Advanced Micro Devices, Inc. | Allocating Compute Kernels to Processors in a Heterogeneous System |
CN108604193A (zh) * | 2016-10-27 | 2018-09-28 | 华为技术有限公司 | 异构系统、计算任务分配方法及装置 |
CN108563500A (zh) * | 2018-05-08 | 2018-09-21 | 深圳市零度智控科技有限公司 | 基于云平台的任务调度方法、云平台及计算机存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559336A (zh) * | 2020-12-09 | 2021-03-26 | 成都海光集成电路设计有限公司 | 自适应调试异构计算芯片的方法、装置、系统及主板芯片 |
CN112559336B (zh) * | 2020-12-09 | 2023-05-19 | 成都海光集成电路设计有限公司 | 自适应调试异构计算芯片的方法、装置、系统及主板芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112465129B (zh) | 片内异构人工智能处理器 | |
US10664318B2 (en) | Method and apparatus for allocating computing resources of processor | |
CN112463709A (zh) | 可配置的异构人工智能处理器 | |
CN111190741B (zh) | 基于深度学习节点计算的调度方法、设备及存储介质 | |
CN101499041B (zh) | 一种避免主机在访问共享设备造成异常死锁的方法 | |
CN110471647B (zh) | 基于微内核架构的嵌入式分区操作系统及其设计方法 | |
RU2417413C2 (ru) | Способ доставки прерываний в драйверы пользовательского режима | |
US11822958B2 (en) | Method and a device for data transmission between an internal memory of a system-on-chip and an external memory | |
CN114579285A (zh) | 一种任务运行系统、方法及计算设备 | |
CN111783970A (zh) | 一种数据处理方法及电子设备 | |
US8407506B2 (en) | Dynamic allocation of processor cores running an operating system | |
CN108388230B (zh) | 任务调度方法、任务调度系统、车辆电子控制单元及车辆 | |
CN103218326B (zh) | 综合仲裁器装置 | |
CN113253978A (zh) | 嵌入式软件开发方法、模型、电子设备和介质 | |
US9760969B2 (en) | Graphic processing system and method thereof | |
CN109426556B (zh) | 一种进程调度方法和装置 | |
CN114911538A (zh) | 一种运行系统的启动方法及计算设备 | |
CN113485810A (zh) | 一种任务的调度执行方法、装置、设备及存储介质 | |
CN113407313A (zh) | 资源需求感知的多队列调度方法、系统及服务器 | |
WO2022137838A1 (ja) | プロセス割当制御装置、プロセス割当制御方法、及び、プロセス割当制御プログラムが格納された記録媒体 | |
CN112766483B (zh) | 异构系统的数据处理方法、装置及计算机可读存储介质 | |
WO2024087513A1 (zh) | 应用场景的数据处理方法、系统、电子设备及存储介质 | |
CN117742956A (zh) | 应用程序的运行控制方法、装置、设备及介质 | |
CN115543554A (zh) | 一种计算作业的调度方法、装置及计算机可读存储介质 | |
CN117540804A (zh) | 人工智能模型运算加速系统及人工智能模型运算加速方法 |
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 |