CN117271424A - 基于多模融合计算框架的处理装置和处理方法 - Google Patents
基于多模融合计算框架的处理装置和处理方法 Download PDFInfo
- Publication number
- CN117271424A CN117271424A CN202311576138.1A CN202311576138A CN117271424A CN 117271424 A CN117271424 A CN 117271424A CN 202311576138 A CN202311576138 A CN 202311576138A CN 117271424 A CN117271424 A CN 117271424A
- Authority
- CN
- China
- Prior art keywords
- operator
- component
- processing
- sent
- task
- 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.)
- Granted
Links
- 230000004927 fusion Effects 0.000 title claims abstract description 36
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 230000015654 memory Effects 0.000 claims description 94
- 238000010586 diagram Methods 0.000 claims description 77
- 230000004044 response Effects 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 20
- 239000002699 waste material Substances 0.000 abstract description 5
- 238000002360 preparation method Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本公开的实施例公开了基于多模融合计算框架的处理装置和处理方法。该基于多模融合计算框架的处理装置的一具体实施方式包括:平台模型组件、存储模型组件、编程模型组件和执行模型组件。该实施方式可以减少多核异构处理器资源的浪费。
Description
技术领域
本公开的实施例涉及多核异构处理器领域,具体涉及基于多模融合计算框架的处理装置和处理方法。
背景技术
在执行处理任务(例如,深度神经网络计算任务、信号滤波任务、图像提取任务、特征提取任务)时,可以通过多核异构处理器来执行处理任务以提高执行效率。目前,通过多核异构处理器处理任务时,通常采用的方式为:使用主从式异构计算框架(例如,OpenCL(Open Computing Language,开放计算语言)框架)来处理任务。
然而,采用上述方式通常存在以下技术问题:
第一,采用主从式异构计算框架的方式时,在执行处理任务时由主处理器和从处理器交替串行执行,难以同时运行主处理器和从处理器,导致浪费了多核异构处理器资源;
第二,采用主从式异构计算框架的方式时,由主处理器的内存管理单元管理算子数据,而从处理器的算子数据未进行管理,容易造成算子数据的泄露;
第三,采用主从式异构计算框架的方式时,由主处理器进行资源调度,在资源调度过程中,需要受到主控处理器进程切换、资源争用的影响,导致降低了资源调度的实时性。
该背景技术部分中所公开的以上信息仅用于增强对本发明构思的背景的理解,并因此,其可包含并不形成本国的本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的一些实施例提出了基于多模融合计算框架的处理装置和处理方法,来解决以上背景技术部分提到的技术问题中的一项或多项。
第一方面,本公开的一些实施例提供了一种基于多模融合计算框架的处理装置,该基于多模融合计算框架的处理装置包括:平台模型组件、存储模型组件、编程模型组件和执行模型组件,其中,上述平台模型组件包括主控处理器、处理器组件;上述存储模型组件包括:存储器组件;上述编程模型组件包括:编译器组件;上述执行模型组件包括:异构控制器;上述平台模型组件用于:接收用户终端发送的任务处理图,向上述编程模型组件发送上述任务处理图,接收上述编程模型组件发送的算子处理图,向上述执行模型组件发送算子处理图,接收上述执行模型组件发送的算子数据,向上述执行模型组件发送目标算子数据,接收上述执行模型组件发送的目标结果信息,以及向上述用户终端发送目标结果信息;上述存储模型组件用于:存储算子数据,接收上述执行模型组件发送的访问命令,以及向上述执行模型组件发送算子数据;上述编程模型组件用于:接收上述平台模型组件发送的任务处理图,将上述任务处理图转换成算子处理图,以及向上述平台模型组件发送上述算子处理图;上述执行模型组件用于:接收上述平台模型组件发送的算子处理图,向上述存储模型组件发送访问命令,接收上述存储模型组件发送的算子数据,向上述平台模型组件发送上述算子数据,接收上述平台模型组件发送的目标算子数据,对上述算子处理图进行更新处理以生成目标算子处理图,以及向上述平台模型组件发送目标结果信息。
可选地,上述主控处理器与上述编译器组件、上述异构控制器、上述存储器组件分别电路连接;上述异构控制器与上述处理器组件、上述存储器组件分别电路连接;上述处理器组件与上述存储器组件电路连接;上述主控处理器用于:接收用户终端发送的任务处理图,向上述编译器组件发送上述任务处理图,接收上述编译器组件发送的算子处理图,向上述异构控制器发送上述算子处理图,接收上述异构控制器发送的目标结果信息,以及向上述用户终端发送上述目标结果信息;上述编译器组件用于:接收主控处理器发送的任务处理图,将上述任务处理图转换成算子处理图,以及向上述主控处理器发送算子处理图;上述异构控制器用于:接收上述主控处理器发送的算子处理图,向上述存储器组件发送访问命令,接收上述存储器组件发送的算子数据,向上述处理器组件发送上述算子数据,接收上述处理器组件发送的目标算子数据,对上述算子处理图进行更新处理以生成目标算子处理图,以及向上述主控处理器发送目标结果信息;上述处理器组件用于:接收上述异构控制器发送的算子数据,以及将上述目标算子数据发送至上述异构控制器;上述存储器组件用于:存储算子数据,接收上述异构控制器发送的访问命令,以及将上述异构控制器发送算子数据。
可选地,上述编译器组件包括:第一编译器和第二编译器;上述第一编译器与上述第二编译器、上述主控处理器电路连接;上述第二编译器与上述主控处理器电路连接。
可选地,上述第一编译器用于:接收上述主控处理器发送的任务处理图,以及向上述第二编译器发送任务算子信息集;上述第二编译器用于:接收上述第一编译器发送的任务算子信息集,以及向上述主控处理器发送算子处理图。
可选地,上述存储器组件包括:存储访问控制器、全局存储控制器和全局存储器;上述存储访问控制器与上述全局存储控制器、上述主控处理器、上述异构控制器、上述处理器组件分别电路连接;上述全局存储控制器与上述全局存储器电路连接;上述存储访问控制器用于:接收上述主控处理器、上述异构控制器、上述处理器组件发送的访问命令,根据访问权限将访问命令发送至上述全局存储控制器,接收上述全局存储控制器发送的算子数据,以及向上述主控处理器、上述异构控制器、上述处理器组件发送算子数据;上述全局存储控制器用于:接收上述存储访问控制器发送的访问命令,记录上述访问命令,以及将上述全局存储器存储的算子数据发送至上述存储访问控制器;上述全局存储器用于:存储算子数据。
第二方面,本公开的一些实施例提供了一种基于多模融合计算框架的处理方法,应用于如第一方面任一实施例所描述的基于多模融合计算框架的处理装置,包括:主控处理器响应于接收到用户终端发送的任务处理图,将上述任务处理图发送至编译器组件;上述编译器组件响应于接收到上述主控处理器发送的任务处理图,对上述任务处理图进行编译处理,以生成任务算子信息集;上述编译器组件基于上述任务处理图,对上述任务算子信息集进行重构处理,以生成算子处理图,以及将上述算子处理图发送至主控处理器;上述主控处理器响应于接收到上述编译器组件发送的算子处理图,将上述算子处理图发送至异构控制器;上述异构控制器响应于接收到上述主控处理器发送的算子处理图,对上述算子处理图进行更新处理,以生成目标算子处理图;上述异构控制器响应于确定上述目标算子处理图满足预设完成条件,将上述目标算子处理图对应的目标结果信息发送至上述主控处理器;上述主控处理器响应于接收到上述异构控制器发送的目标结果信息,将上述目标结果信息发送至上述用户终端。
本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的基于多模融合计算框架的处理装置,可以减少多核异构处理器资源的浪费。具体来说,导致浪费了多核异构处理器资源的原因在于:采用主从式异构计算框架的方式时,在执行处理任务时由主处理器和从处理器交替串行执行,难以同时运行主处理器和从处理器。基于此,本公开的一些实施例的基于多模融合计算框架的处理装置,包括:平台模型组件、存储模型组件、编程模型组件和执行模型组件,其中,上述平台模型组件包括:主控处理器、异构控制器、处理器组件,上述存储模型组件包括:存储器组件,上述编程模型组件包括:编译器组件。这里,由主控处理器部署处理任务的流程,由异构控制器调度处理器组件执行处理任务。由此,可以通过异构控制器实现处理器并行执行的效果。因此,可以减少多核异构处理器资源的浪费。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是根据本公开的基于多模融合计算框架的处理装置的一些实施例的结构示意图;
图2是根据本公开的基于多模融合计算框架的处理装置的编译器组件的一些实施例的结构示意图;
图3是根据本公开的基于多模融合计算框架的处理装置的存储器组件的一些实施例的结构示意图;
图4是根据本公开的基于多模融合计算框架的处理方法的一些实施例的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
参考图1,示出了根据本公开的基于多模融合计算框架的处理装置的一些实施例的结构示意图。如图1所示,上述基于多模融合计算框架的处理装置包括:平台模型组件1、存储模型组件2、编程模型组件3和执行模型组件4。
在一些实施例中,上述平台模型组件1包括:主控处理器11、处理器组件12。上述存储模型组件2包括:存储器组件21。上述编程模型组件3包括:编译器组件31。上述执行模型组件4包括:异构控制器41。上述平台模型组件1用于:接收用户终端发送的任务处理图,向上述编程模型组件3发送上述任务处理图,接收上述编程模型组件3发送的算子处理图,向上述执行模型组件4发送算子处理图,接收上述执行模型组件4发送的算子数据,向上述执行模型组件4发送目标算子数据,接收上述执行模型组件4发送的目标结果信息,以及向上述用户终端发送目标结果信息。上述存储模型组件2用于:存储算子数据,接收上述执行模型组件4发送的访问命令,以及向上述执行模型组件4发送算子数据。上述编程模型组件3用于:接收上述平台模型组件1发送的任务处理图,将上述任务处理图转换成算子处理图,以及向上述平台模型组件1发送上述算子处理图。上述执行模型组件4用于:接收上述平台模型组件1发送的算子处理图,向上述存储模型组件2发送访问命令,接收上述存储模型组件2发送的算子数据,向上述平台模型组件1发送上述算子数据,接收上述平台模型组件1发送的目标算子数据,对上述算子处理图进行更新处理以生成目标算子数据,以及向上述平台模型组件1发送目标结果信息。
由此,上述编程模型组件,可以通过算子虚拟化(可以将处理任务转换成包括处理标识的算子。其中,处理标识可以是预设准备标识或预设未准备标识。上述预设准备标识可以表征当前算子的前级算子均已计算完成。上述预设未准备标识可以表征当前算子存在未计算完成的前级算子。)、流程解耦(可以使得解耦后的算子只依赖处理标识)、重构任务链(可以使得生成的算子处理图的逻辑结构与任务处理图的逻辑结构相同)的方式将任务处理图转换成算子处理图,以便后续执行模型组件通过事件驱动调度(通过调度表征预设准确标识的处理标识的算子)的方式调度算子。
由此,通过众核并行的平台模型组件、面向全局存储器资源管理的存储模型组件、两级支持异构处理器一体化编译的编程模型组件和优化异构算子调度的异构计算池执行模型组件,可以提供便利的编程方式、优化了存储器管理和计算调度方法,从而,可以提高多核异构处理器运行的效率。
例如,上述主控处理器11可以是CPU(Central Processing Unit,中央处理器)。上述处理器组件12可以包括至少一个处理器。上述处理器组件12中的处理器可以是但不限于:NPU(Neural network Processing Unit,神经网络处理器)、GPGPU(General-purposecomputing on graphics processing units,通用图形处理器)、VPU(Video ProcessingUnit,视频处理器)、EDSP(Embedded Digital Signal Processor,嵌入式数字信号处理器)。上述存储器组件21可以是用于存储算子数据的存储器。上述编译器组件31可以包括至少两个编译器。上述异构控制器41可以是HCPC(Heterogeneous Computing PoolController,异构计算池控制器)。上述用户终端可以是生成任务处理图的终端。
这里,上述任务处理图可以是以处理任务为节点,以处理任务流向为边的图。例如,处理任务可以是但不限于:深度神经网络计算任务、信号滤波任务、图像提取任务、特征提取任务。上述算子处理图可以是以算子为节点,以算子数据流向为边的图。例如,算子可以表征通过编译器对处理任务编译后得到的用于调度处理任务的基本单位。上述访问命令可以表征想要获取存储器组件中存储的算子数据。上述算子数据可以是算子在执行时所需要的数据。上述目标算子数据可以是处理器组件将算子数据输入至算子所得的数据。上述目标结果信息可以是算子处理图包括的各个算子均执行完成后所得到的信息。
可选地,上述主控处理器11与上述编译器组件31、上述异构控制器41、上述存储器组件21分别电路连接。上述异构控制器41与上述处理器组件12、上述存储器组件21分别电路连接。上述处理器组件12与上述存储器组件21电路连接。
上述主控处理器11用于:接收用户终端发送的任务处理图,向上述编译器组件31发送上述任务处理图,接收上述编译器组件31发送的算子处理图,向上述异构控制器41发送上述算子处理图,接收上述异构控制器41发送的目标结果信息,以及向上述用户终端发送上述目标结果信息。
上述编译器组件31用于:接收主控处理器11发送的任务处理图,将上述任务处理图转换成算子处理图,以及向上述主控处理器11发送算子处理图。
实践中,上述编译器组件可以通过以下步骤将上述任务处理图转换成算子处理图:
第一步,对上述任务处理图进行编译处理,以生成任务算子信息集。实践中,上述编译器组件可以将表征用户输入的任务处理图编译成可执行的算子,以生成任务算子信息集。其中,上述任务算子信息集中的任务算子信息可以包括但不限于以下至少一项:算子、算子流向。这里,算子流向可以对应任务处理图中处理任务的流向。
第二步,对上述任务算子信息集中的每个任务算子信息进行虚拟化处理,以生成虚拟化算子信息,得到虚拟化算子信息集。实践中,首先,对于上述任务算子信息集中的每个任务算子信息,执行以下虚拟化步骤:第一,上述编译器组件响应于确定上述任务算子信息满足预设准备条件,将预设准备标识确定为上述任务算子信息对应的处理标识。第二,上述编译器组件响应于确定上述任务算子信息不满足上述预设准备条件,将预设未准备标识确定为上述任务算子信息对应的处理标识。第三,上述编译器组件将上述处理标识和上述任务算子信息确定为虚拟化算子信息。最后,上述编译器组件将所确定的各个虚拟化算子信息确定为虚拟化算子信息集。其中,上述预设准备条件可以是任务算子信息包括的算子的前级算子均已完成处理。上述预设准备标识可以表征当前算子可以进行处理。上述预设未准备标识可以表征当前算子不可以进行处理。这里,从前级算子到算子的流向可以是上述任务处理图中处理任务的流向。
第三步,基于上述任务处理图,对上述虚拟化算子信息集进行算子重构处理,以生成算子处理图。实践中,上述编译器组件可以根据上述任务处理图中处理任务的流向,将上述虚拟化算子信息集中的各个虚拟化算子信息重构成以算子为节点、以算子数据的流向为边的算子处理图。
上述异构控制器41用于:接收上述主控处理器11发送的算子处理图,向上述存储器组件21发送访问命令,接收上述存储器组件21发送的算子数据,向上述处理器组件12发送上述算子数据,接收上述处理器组件12发送的目标算子数据,对上述算子处理图进行更新处理以生成目标算子处理图,以及向上述主控处理器11发送目标结果信息。
上述处理器组件12用于:接收上述异构控制器41发送的算子数据,以及将上述目标算子数据发送至上述异构控制器41。
上述存储器组件21用于:存储算子数据,接收上述异构控制器41发送的访问命令,以及将上述异构控制器41发送算子数据。
可选地,如图2所示,示出了根据本公开的基于多模融合计算框架的处理装置的编译器组件的一些实施例的结构示意图。如图2所示,上述基于多模融合计算框架的处理装置的编译器组件31包括:第一编译器311和第二编译器312。
在一些实施例中,上述第一编译器311(例如,XPUC-L1(XPU Compiler Level 1,XPU上层编译器))与上述第二编译器312(例如,XPUC-L0(XPU Compiler Level 0,XPU底层编译器))、上述主控处理器11电路连接。上述第二编译器312与上述主控处理器311电路连接。
可选地,上述第一编译器311用于:接收上述主控处理器11发送的任务处理图,以及向上述第二编译器312发送任务算子信息集。上述第二编译器312用于:接收上述第一编译器311发送的任务算子信息集,以及向上述主控处理器11发送算子处理图。其中,上述任务算子信息集中的任务算子信息可以包括但不限于以下至少一项:算子、算子数据。
可选地,如图3所示,示出了根据本公开的基于多模融合计算框架的处理装置的存储器组件的一些实施例的结构示意图。如图3所示,上述基于多模融合计算框架的处理装置的存储器组件21包括:存储访问控制器211、全局存储控制器212和全局存储器213。
在一些实施例中,上述存储访问控制器211与上述全局存储控制器212、上述主控处理器11、上述异构控制器41、上述处理器组件13分别电路连接。上述全局存储控制器212与上述全局存储器213电路连接。
例如,上述存储访问控制器211可以是GMMU(Global Memory Management Unit,全局存储器管理单元)。例如,上述全局存储控制器212可以是MME(Memory ManagementExecutor,存储器管理执行单元)。上述全局存储器213可以是但不限于:ROM(Read-OnlyMemory,只读存储器)、RAM(Random Access Memory,随机存取存储器)。
上述存储访问控制器211用于:接收上述主控处理器11、上述异构控制器41、上述处理器组件12发送的访问命令,根据访问权限将访问命令发送至上述全局存储控制器212,接收上述全局存储控制器212发送的算子数据,以及向上述主控处理器11、上述异构控制器41、上述处理器组件12发送算子数据。这里,访问权限可以表征预先设定的主控处理器、异构控制器、处理器组件是否可以访问全局存储器。例如,当主控处理器想要访问全局存储器中的算子数据,且此时访问权限表征主控处理器可以访问全局存储器中的算子数据时,存储访问控制器可以将主控处理器对应的访问命令发送至全局存储控制器,以便全局存储控制器从全局存储器中获取算子数据。
上述全局存储控制器212用于:接收上述存储访问控制器211发送的访问命令,记录上述访问命令,以及将上述全局存储器213存储的算子数据发送至上述存储访问控制器211。
上述全局存储器213用于:存储算子数据。
可选地中的相关内容作为本公开的一个发明点,由此解决了背景技术提及的技术问题二“容易造成算子数据的泄露”。容易造成算子数据的泄露的因素往往如下:采用主从式异构计算框架的方式时,由主处理器的内存管理单元管理算子数据,而从处理器的算子数据未进行管理。如果解决了上述因素,就能达到可以减少算子数据的泄露的效果。为了达到这一效果,本公开的基于多模融合计算框架的处理装置的存储器组件包括:存储访问控制器、全局存储控制器和全局存储器。具体而言,本公开的基于多模融合计算框架的处理装置的存储器组件包括的全局存储器可以存储所有存储器的算子数据,以对主处理器和从处理器的算子数据进行管理。基于多模融合计算框架的处理装置的存储器组件包括的全局存储器可以对符合预先设定的访问权限的访问命令进行转发,对不符合预先设定的访问权限的访问命令进行拦截并告警。从而,可以提高算子数据的安全性。因此,可以减少算子数据的泄露。
本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的基于多模融合计算框架的处理装置,可以减少多核异构处理器资源的浪费。具体来说,导致浪费了多核异构处理器资源的原因在于:采用主从式异构计算框架的方式时,在执行处理任务时由主处理器和从处理器交替串行执行,难以同时运行主处理器和从处理器。基于此,本公开的一些实施例的基于多模融合计算框架的处理装置,包括:平台模型组件、存储模型组件、编程模型组件和执行模型组件,其中,上述平台模型组件包括:主控处理器、异构控制器、处理器组件,上述存储模型组件包括:存储器组件,上述编程模型组件包括:编译器组件。这里,由主控处理器部署处理任务的流程,由异构控制器调度处理器组件执行处理任务。由此,可以通过异构控制器实现处理器并行执行的效果。因此,可以减少多核异构处理器资源的浪费。
本公开还提供一种基于多模融合计算框架的处理方法,应用于上述各实施例的基于多模融合计算框架的处理方法装置,如图4所示,示出了根据本公开的基于多模融合计算框架的处理方法的一些实施例的流程图。该方法可以包括以下步骤:
步骤401,主控处理器响应于接收到用户终端发送的任务处理图,将任务处理图发送至编译器组件。
在一些实施例中,主控处理器响应于接收到用户终端发送的任务处理图,将上述任务处理图发送至编译器组件。
步骤402,编译器组件响应于接收到主控处理器发送的任务处理图,对任务处理图进行编译处理,以生成任务算子信息集。
在一些实施例中,上述编译器组件响应于接收到上述主控处理器发送的任务处理图,对上述任务处理图进行编译处理,以生成任务算子信息集。实践中,上述编译器组件响应于接收到上述主控处理器发送的任务处理图,将表征用户输入的任务处理图编译成可执行的算子,以生成任务算子信息集。其中,上述任务算子信息集中的任务算子信息可以包括但不限于以下至少一项:算子、算子流向。这里,算子流向可以对应任务处理图中处理任务的流向。
步骤403,编译器组件基于任务处理图,对任务算子信息集进行重构处理,以生成算子处理图,以及将算子处理图发送至主控处理器。
在一些实施例中,上述编译器组件基于上述任务处理图,对上述任务算子信息集进行重构处理,以生成算子处理图,以及将上述算子处理图发送至主控处理器。
实践中,上述编译器组件基于上述任务处理图,可以通过以下步骤对上述任务算子信息集进行重构处理,以生成算子处理图:
第一步,对上述任务算子信息集中的每个任务算子信息进行虚拟化处理,以生成虚拟化算子信息,得到虚拟化算子信息集。实践中,首先,对于上述任务算子信息集中的每个任务算子信息,执行以下虚拟化步骤:第一,上述编译器组件响应于确定上述任务算子信息满足预设准备条件,将预设准备标识确定为上述任务算子信息对应的处理标识。第二,上述编译器组件响应于确定上述任务算子信息不满足上述预设准备条件,将预设未准备标识确定为上述任务算子信息对应的处理标识。第三,上述编译器组件将上述处理标识和上述任务算子信息确定为虚拟化算子信息。最后,上述编译器组件将所确定的各个虚拟化算子信息确定为虚拟化算子信息集。其中,上述预设准备条件可以是任务算子信息包括的算子的前级算子均已完成处理。上述预设准备标识可以表征当前算子可以进行处理。上述预设未准备标识可以表征当前算子不可以进行处理。这里,从前级算子到算子的流向可以是上述任务处理图中处理任务的流向。
第二步,基于上述任务处理图,对上述虚拟化算子信息集进行算子重构处理,以生成算子处理图。实践中,上述编译器组件可以根据上述任务处理图中处理任务的流向,将上述虚拟化算子信息集中的各个虚拟化算子信息重构成以算子为节点、以算子数据的流向为边的算子处理图。
步骤404,主控处理器响应于接收到编译器组件发送的算子处理图,将算子处理图发送至异构控制器。
在一些实施例中,上述主控处理器响应于接收到上述编译器组件发送的算子处理图,将上述算子处理图发送至异构控制器。
步骤405,异构控制器响应于接收到主控处理器发送的算子处理图,对算子处理图进行更新处理,以生成目标算子处理图。
在一些实施例中,上述异构控制器响应于接收到上述主控处理器发送的算子处理图,对上述算子处理图进行更新处理,以生成目标算子处理图。
实践中,上述异构控制器响应于接收到上述主控处理器发送的算子处理图,可以通过以下步骤对上述算子处理图进行更新处理,以生成目标算子处理图:
第一步,从上述算子处理图包括的算子集中选取满足预设处理条件的各个算子,得到目标算子集。其中,上述预设处理条件可以是:上述算子对应的处理标识是预设准备标识。
第二步,对于上述目标算子集中的每个目标算子,执行以下处理子步骤:
第一子步骤,向存储器组件发送访问命令,以接收上述存储器组件发送的算子数据。其中,上述算子数据可以是通过以下步骤发送的:首先,上述存储器组件包括的存储访问控制器响应于接收到上述异构控制器发送的访问命令,将上述访问命令发送至上述存储器组件包括的全局存储控制器。其次,上述全局存储控制器响应于接收到上述访问命令,以及响应于确定上述访问命令不在预设访问权限信息中,通过上述存储访问控制器向上述主控处理器发送预设告警信息。接着,上述全局存储控制器响应于接收到上述访问命令,以及响应于确定上述访问命令在上述预设访问权限信息中,将上述访问命令发送至上述存储器组件包括的全局存储器中,以从上述全局存储器中获取上述访问命令对应的算子数据。然后,上述全局存储控制器将上述算子数据发送至上述存储访问控制器。最后,上述存储访问控制器响应于接收到上述算子数据,将上述算子数据发送至上述异构控制器。其中,上述预设访问权限信息可以表征处理器是否可以获取算子数据。上述预设告警信息可以表征“无权访问”。
第二子步骤,将上述算子数据和上述目标算子发送至目标处理器,以生成目标算子数据。其中,上述目标处理器可以是处理器组件中满足预设调度条件的处理器。预设调度条件可以是空闲的处理器。这里,上述目标算子数据可以是上述目标处理器将上述算子数据输入至算子所生成的。
第三子步骤,接收上述目标处理器发送的目标算子数据。
第四子步骤,将上述目标算子数据存储至上述存储器组件中。
第三步,基于所得到的各个目标算子数据,对上述算子处理图进行更新处理,以生成目标算子处理图。实践中,对于所得到的每个目标算子数据,上述异构控制器可以响应于确定上述算子处理图中与上述目标算子数据对应的算子的后级算子满足上述预设准备条件,将上述算子的后级算子对应的处理标识更新为预设准备标识。然后,上述异构控制器可以将更新后的算子处理图确定为目标算子处理图。这里,在算子处理图中,算子数据的流向可以是从算子流向后级算子。
步骤405中的相关技术内容作为本公开的实施例的一个发明点,解决了背景技术提及的技术问题三“导致降低了资源调度的实时性”。导致降低了资源调度的实时性的因素往往如下:采用主从式异构计算框架的方式时,由主处理器进行资源调度,在资源调度过程中,需要受到主控处理器进程切换、资源争用的影响。如果解决了上述因素,就能达到可以提高资源调度的实时性的效果。为了达到这一效果,首先,从上述算子处理图包括的算子集中选取满足预设处理条件的各个算子,得到目标算子集。由此,异构控制器可以从算子处理图中挑选出可进行处理的各个算子,以便后续对算子进行处理。其次,对于上述目标算子集中的每个目标算子,执行以下处理子步骤:第一,向上述存储器组件发送访问命令,以接收上述存储器组件发送的算子数据。由此,异构控制器可以调度出算子数据。第二,将上述算子数据和上述目标算子发送至目标处理器,以生成目标算子数据。由此,异构控制器可以调度处理器以完成对算子的处理。第三,接收上述目标处理器发送的目标算子数据。第四,将上述目标算子数据存储至上述存储器组件中。最后,基于所得到的各个目标算子数据,对上述算子处理图进行更新处理,以生成目标算子处理图。由此,异构控制器可以将算子处理图更新为目标算子处理图,以便后续继续对可处理的算子进行处理。从而,可以使用异构控制器代替主控处理器进行资源调度。进而,可以提高资源调度的实时性。
步骤406,异构控制器响应于确定目标算子处理图满足预设完成条件,将目标算子处理图对应的目标结果信息发送至主控处理器。
在一些实施例中,上述异构控制器响应于确定上述目标算子处理图满足预设完成条件,将上述目标算子处理图对应的目标结果信息发送至上述主控处理器。
步骤407,主控处理器响应于接收到异构控制器发送的目标结果信息,将目标结果信息发送至用户终端。
在一些实施例中,上述主控处理器响应于接收到上述异构控制器发送的目标结果信息,将上述目标结果信息发送至上述用户终端。
可选地,上述异构控制器响应于确定上述目标算子处理图不满足上述预设完成条件,将上述目标算子处理图确定为算子处理图,以供再次执行上述更新处理。
在一些实施例中,上述异构控制器响应于确定上述目标算子处理图不满足上述预设完成条件,将上述目标算子处理图确定为算子处理图,以供再次执行上述更新处理。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (7)
1.一种基于多模融合计算框架的处理装置,其特征在于,包括:平台模型组件、存储模型组件、编程模型组件和执行模型组件,其中,
所述平台模型组件包括:主控处理器、处理器组件;
所述存储模型组件包括:存储器组件;
所述编程模型组件包括:编译器组件;
所述执行模型组件包括:异构控制器;
所述平台模型组件用于:接收用户终端发送的任务处理图,向所述编程模型组件发送所述任务处理图,接收所述编程模型组件发送的算子处理图,向所述执行模型组件发送算子处理图,接收所述执行模型组件发送的算子数据,向所述执行模型组件发送目标算子数据,接收所述执行模型组件发送的目标结果信息,以及向所述用户终端发送目标结果信息;
所述存储模型组件用于:存储算子数据,接收所述执行模型组件发送的访问命令,以及向所述执行模型组件发送算子数据;
所述编程模型组件用于:接收所述平台模型组件发送的任务处理图,将所述任务处理图转换成算子处理图,以及向所述平台模型组件发送所述算子处理图;
所述执行模型组件用于:接收所述平台模型组件发送的算子处理图,向所述存储模型组件发送访问命令,接收所述存储模型组件发送的算子数据,向所述平台模型组件发送所述算子数据,接收所述平台模型组件发送的目标算子数据,对所述算子处理图进行更新处理以生成目标算子处理图,以及向所述平台模型组件发送目标结果信息。
2.根据权利要求1所述的基于多模融合计算框架的处理装置,其特征在于,所述主控处理器与所述编译器组件、所述异构控制器、所述存储器组件分别电路连接;
所述异构控制器与所述处理器组件、所述存储器组件分别电路连接;
所述处理器组件与所述存储器组件电路连接;
所述主控处理器用于:接收用户终端发送的任务处理图,向所述编译器组件发送所述任务处理图,接收所述编译器组件发送的算子处理图,向所述异构控制器发送所述算子处理图,接收所述异构控制器发送的目标结果信息,以及向所述用户终端发送所述目标结果信息;
所述编译器组件用于:接收主控处理器发送的任务处理图,将所述任务处理图转换成算子处理图,以及向所述主控处理器发送算子处理图;
所述异构控制器用于:接收所述主控处理器发送的算子处理图,向所述存储器组件发送访问命令,接收所述存储器组件发送的算子数据,向所述处理器组件发送所述算子数据,接收所述处理器组件发送的目标算子数据,对所述算子处理图进行更新处理以生成目标算子处理图,以及向所述主控处理器发送目标结果信息;
所述处理器组件用于:接收所述异构控制器发送的算子数据,以及将所述目标算子数据发送至所述异构控制器;
所述存储器组件用于:存储算子数据,接收所述异构控制器发送的访问命令,以及将所述异构控制器发送算子数据。
3.根据权利要求1所述的基于多模融合计算框架的处理装置,其特征在于,所述编译器组件包括:第一编译器和第二编译器;
所述第一编译器与所述第二编译器、所述主控处理器电路连接;
所述第二编译器与所述主控处理器电路连接。
4.根据权利要求3所述的基于多模融合计算框架的处理装置,其特征在于,所述第一编译器用于:接收所述主控处理器发送的任务处理图,以及向所述第二编译器发送任务算子信息集;
所述第二编译器用于:接收所述第一编译器发送的任务算子信息集,以及向所述主控处理器发送算子处理图。
5.一种基于多模融合计算框架的处理方法,应用于如权利要求1-4任一所述的基于多模融合计算框架的处理装置,包括:
主控处理器响应于接收到用户终端发送的任务处理图,将所述任务处理图发送至编译器组件;
所述编译器组件响应于接收到所述主控处理器发送的任务处理图,对所述任务处理图进行编译处理,以生成任务算子信息集;
所述编译器组件基于所述任务处理图,对所述任务算子信息集进行重构处理,以生成算子处理图,以及将所述算子处理图发送至主控处理器;
所述主控处理器响应于接收到所述编译器组件发送的算子处理图,将所述算子处理图发送至异构控制器;
所述异构控制器响应于接收到所述主控处理器发送的算子处理图,对所述算子处理图进行更新处理,以生成目标算子处理图;
所述异构控制器响应于确定所述目标算子处理图满足预设完成条件,将所述目标算子处理图对应的目标结果信息发送至所述主控处理器;
所述主控处理器响应于接收到所述异构控制器发送的目标结果信息,将所述目标结果信息发送至所述用户终端。
6.根据权利要求5所述的方法,其中,所述方法还包括:
所述异构控制器响应于确定所述目标算子处理图不满足所述预设完成条件,将所述目标算子处理图确定为算子处理图,以供再次执行所述更新处理。
7.根据权利要求5所述的方法,其中,所述编译器组件基于所述任务处理图,对所述任务算子信息集进行重构处理,以生成算子处理图,包括:
对所述任务算子信息集中的每个任务算子信息进行虚拟化处理,以生成虚拟化算子信息,得到虚拟化算子信息集;
基于所述任务处理图,对所述虚拟化算子信息集进行算子重构处理,以生成算子处理图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311576138.1A CN117271424B (zh) | 2023-11-24 | 2023-11-24 | 基于多模融合计算框架的处理装置和处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311576138.1A CN117271424B (zh) | 2023-11-24 | 2023-11-24 | 基于多模融合计算框架的处理装置和处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117271424A true CN117271424A (zh) | 2023-12-22 |
CN117271424B CN117271424B (zh) | 2024-02-06 |
Family
ID=89201327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311576138.1A Active CN117271424B (zh) | 2023-11-24 | 2023-11-24 | 基于多模融合计算框架的处理装置和处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117271424B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525418A (zh) * | 2018-10-11 | 2019-03-26 | 浙江工商大学 | 一种拟态防御下服务部署执行体集合异构度保证的调度方法 |
CN110674936A (zh) * | 2019-09-24 | 2020-01-10 | 上海寒武纪信息科技有限公司 | 一种神经网络处理方法、装置、计算机设备及存储介质 |
US20200151579A1 (en) * | 2018-11-08 | 2020-05-14 | Samsung Electronics Co., Ltd. | System for managing calculation processing graph of artificial neural network and method of managing calculation processing graph by using the same |
CN112000421A (zh) * | 2020-07-15 | 2020-11-27 | 北京计算机技术及应用研究所 | 基于超融合架构的管理调度技术 |
CN112667594A (zh) * | 2021-01-14 | 2021-04-16 | 北京智源人工智能研究院 | 一种基于混合云资源的异构计算平台及模型训练方法 |
-
2023
- 2023-11-24 CN CN202311576138.1A patent/CN117271424B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525418A (zh) * | 2018-10-11 | 2019-03-26 | 浙江工商大学 | 一种拟态防御下服务部署执行体集合异构度保证的调度方法 |
US20200151579A1 (en) * | 2018-11-08 | 2020-05-14 | Samsung Electronics Co., Ltd. | System for managing calculation processing graph of artificial neural network and method of managing calculation processing graph by using the same |
CN110674936A (zh) * | 2019-09-24 | 2020-01-10 | 上海寒武纪信息科技有限公司 | 一种神经网络处理方法、装置、计算机设备及存储介质 |
CN112000421A (zh) * | 2020-07-15 | 2020-11-27 | 北京计算机技术及应用研究所 | 基于超融合架构的管理调度技术 |
CN112667594A (zh) * | 2021-01-14 | 2021-04-16 | 北京智源人工智能研究院 | 一种基于混合云资源的异构计算平台及模型训练方法 |
Non-Patent Citations (1)
Title |
---|
李雁冰 等: "一种面向异构众核处理器的并行编译框架", 软件学报, no. 04, pages 981 - 1001 * |
Also Published As
Publication number | Publication date |
---|---|
CN117271424B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11422817B2 (en) | Method and apparatus for executing instructions including a blocking instruction generated in response to determining that there is data dependence between instructions | |
CN111190741B (zh) | 基于深度学习节点计算的调度方法、设备及存储介质 | |
US8752056B2 (en) | Running native code across single or multi-core hybrid processor achitecture | |
EP3032413B1 (en) | Code generation method, compiler, scheduling method, apparatus and scheduling system | |
CN108182281B (zh) | 基于流式计算的数据处理控制方法、装置、服务器及介质 | |
CN114327399B (zh) | 分布式训练方法、装置、计算机设备、存储介质和产品 | |
CN110609755A (zh) | 跨区块链节点的消息处理方法及装置、设备、介质 | |
CN115600676A (zh) | 深度学习模型推理方法、装置、设备及存储介质 | |
CN110457132B (zh) | 一种功能对象的创建方法、装置和终端设备 | |
CN113568604B (zh) | 风控策略的更新方法、装置及计算机可读存储介质 | |
WO2022166480A1 (zh) | 任务调度方法、装置及系统 | |
US7228527B1 (en) | Method and system for structuring a procedure | |
WO2019117767A1 (en) | Method, function manager and arrangement for handling function calls | |
CN117271424B (zh) | 基于多模融合计算框架的处理装置和处理方法 | |
CN116931920A (zh) | 业务逻辑对象处理方法、装置、电子设备及存储介质 | |
CN110018831A (zh) | 程序处理方法、装置及相关产品 | |
CN114579054A (zh) | 一种数据处理方法、装置、电子设备及计算机可读介质 | |
CN112711602B (zh) | 一种存储过程的运行方法、装置,数据库系统及存储介质 | |
CN113590179A (zh) | 插件检测方法、装置、电子设备及存储介质 | |
CN112748952A (zh) | 一种环形依赖关系的检测方法、装置、设备和存储介质 | |
CN112416312B (zh) | 一种对象获取方法、装置及电子设备、存储介质 | |
CN117149166B (zh) | 电磁水表数据对接代码生成方法及装置 | |
CN113992941B (zh) | 基于无服务器函数计算的云边协同视频分析系统与方法 | |
Anand et al. | Synthesizing and verifying multicore parallelism in categories of nested code graphs | |
CN117632416A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |