CN114546624B - 任务处理方法及装置、电子设备和存储介质 - Google Patents

任务处理方法及装置、电子设备和存储介质 Download PDF

Info

Publication number
CN114546624B
CN114546624B CN202210194563.3A CN202210194563A CN114546624B CN 114546624 B CN114546624 B CN 114546624B CN 202210194563 A CN202210194563 A CN 202210194563A CN 114546624 B CN114546624 B CN 114546624B
Authority
CN
China
Prior art keywords
processing
intermediate representation
representation model
processing nodes
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.)
Active
Application number
CN202210194563.3A
Other languages
English (en)
Other versions
CN114546624A (zh
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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202210194563.3A priority Critical patent/CN114546624B/zh
Publication of CN114546624A publication Critical patent/CN114546624A/zh
Application granted granted Critical
Publication of CN114546624B publication Critical patent/CN114546624B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开涉及一种任务处理方法及装置、电子设备和存储介质,所述方法包括:根据待处理任务的处理流程和处理节点,获得中间表示模型;对中间表示模型进行编译,获得执行模型;根据执行模型对待处理任务进行处理,获得执行结果。根据本公开的实施例的任务处理方法,通过待处理任务的处理流程和处理节点获得中间表示模型,并映射至处理组件的硬件单元,而非基于硬件设计中间表示模型,提升了中间表示模型的灵活性和通用型,实现了软硬解耦,对异构融合算法的支持性更强。

Description

任务处理方法及装置、电子设备和存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种任务处理方法及装置、电子设备和存储介质。
背景技术
类脑计算是人工智能的重要支撑。而类脑计算生态的发展需要算法、编程语言、编译、执行系统等的协同创新。其中,类脑算法的中间表示在其中起到了关键的连接性作用。对上层,中间表示统一了类脑算法的多样性,并为类脑算法提供了规范的编程框架。对下层,中间表示转换为多种硬件运行的代码,即支持类脑硬件的高效的执行模型。
现有人工智能或类脑计算系统的中间表示大致可以分为两类,一类是针对ANN的计算图表示。此类系统以Tensorflow、PyTorch等为代表,一般将神经网络表示为计算图形式。其中,计算图节点包括数据节点与计算节点,分别表示常量数据或者是对数据的操作。计算图的边表示节点之间的连接。典型的基于计算图的ANN系统包括:TensorFlow构建计算图、ONNX转换得到统一的计算图表示、TVM针对计算图进行优化、优化结果最终运行在相应硬件上。ANN中的计算图中间表示及系统能够实现对ANN算法的抽象与执行,但其对类脑算法的支持很有限。
另一类是针对SNN的中间表示,以Corelet为代表。Corelet是TrueNorth类脑计算系统对应的中间表示与编程模型,其面向以SNN为主体类脑计算算法。Corelet将TrueNorth的一个核抽象为基本的编程单元,并采用层次化设计,几个Corelet可以组成一个更大的Corelet。Corelet设计实现了软硬件的协同设计,并做为一种与算法和硬件具有相同范式的中间表示,实现了SNN算法的高效构建与其在TrueNorth硬件上的高效部署。但Corelet对ANN与SNN异构融合算法支持性比较差,且其设计过于贴近硬件设计,没有实现充分的软硬解耦,对通用性产生了一定影响。
发明内容
本公开提出了一种任务处理方法及装置、电子设备和存储介质。
根据本公开的一方面,提供了一种任务处理方法,包括:根据待处理任务的处理流程和处理节点,获得所述待处理任务的中间表示模型,所述中间表示模型包括所述待处理任务的数据传输与数据处理的关系模型,所述中间表示模型包括处理节点及处理节点之间的连接关系,所述处理节点包括计算节点、状态节点、数据节点、转码节点、代码节点中的至少一种;对所述中间表示模型进行编译处理,获得所述待处理任务的执行模型,所述编译处理包括将所述中间表示模型映射至处理组件中对应的硬件单元,得到执行模型,使得所述执行模型能够通过所述处理组件,根据所述中间表示模型所表示的数据传输与数据处理的关系,对所述待处理任务进行处理;根据所述执行模型对所述待处理任务进行处理,获得所述待处理任务的执行结果。
在一种可能的实现方式中,根据待处理任务的处理流程和处理节点,获得所述待处理任务的中间表示模型,包括:确定所述待处理任务的处理节点的功能;根据所述处理节点的功能以及所述处理流程,确定所述处理节点之间的连接关系;根据所述处理节点之间的连接关系和所述处理节点的功能,获得所述中间表示模型。
在一种可能的实现方式中,根据所述处理节点之间的连接关系和所述处理节点的功能,获得所述中间表示模型,包括:根据所述处理节点的功能和所述处理节点之间的连接关系,确定包括一个或多个处理节点的触发区域,所述触发区域中的处理节点在满足预设条件时执行对应的功能;根据所述处理节点之间的连接关系、所述处理节点的功能和所述触发区域,获得所述中间表示模型。
在一种可能的实现方式中,对所述中间表示模型进行编译处理,获得所述待处理任务的执行模型,还包括:对所述中间表示模型进行以下处理中的至少一种:根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行替换处理;根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行删除处理;根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行训练处理。
在一种可能的实现方式中,所述处理组件包括一个或多个执行单元,所述执行单元包括存储器、路由器、控制器和处理器。
在一种可能的实现方式中,所述处理组件还包括以下中的至少一种:执行单元内的触发器和/或执行单元之间的触发器;执行单元内的协议转换器和/或执行单元之间的协议转换器;执行单元之间的控制器和/或处理器。
根据本公开的一方面,提供了一种任务处理装置,包括:中间表示模型获得模块,用于根据待处理任务的处理流程和处理节点,获得所述待处理任务的中间表示模型,所述中间表示模型包括所述待处理任务的数据传输与数据处理的关系模型,所述中间表示模型包括处理节点及处理节点之间的连接关系,所述处理节点包括计算节点、状态节点、数据节点、转码节点、代码节点中的至少一种;编译模块,用于对所述中间表示模型进行编译处理,获得所述待处理任务的执行模型,所述编译处理包括将所述中间表示模型映射至处理组件中对应的硬件单元,得到执行模型,使得所述执行模型能够通过所述处理组件,根据所述中间表示模型所表示的数据传输与数据处理的关系,对所述待处理任务进行处理;执行模块,用于根据所述执行模型对所述待处理任务进行处理,获得所述待处理任务的执行结果。
在一种可能的实现方式中,所述中间表示模型获得模块进一步用于:确定所述待处理任务的处理节点的功能;根据所述处理节点的功能以及所述处理流程,确定所述处理节点之间的连接关系;根据所述处理节点之间的连接关系和所述处理节点的功能,获得所述中间表示模型。
在一种可能的实现方式中,所述中间表示模型获得模块进一步用于:根据所述处理节点的功能和所述处理节点之间的连接关系,确定包括一个或多个处理节点的触发区域,所述触发区域中的处理节点在满足预设条件时执行对应的功能;根据所述处理节点之间的连接关系、所述处理节点的功能和所述触发区域,获得所述中间表示模型。
在一种可能的实现方式中,所述编译模块还用于:对所述中间表示模型进行以下处理中的至少一种:根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行替换处理;根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行删除处理;根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行训练处理。
在一种可能的实现方式中,所述处理组件包括一个或多个执行单元,所述执行单元包括存储器、路由器、控制器和处理器。
在一种可能的实现方式中,所述处理组件还包括以下中的至少一种:执行单元内的触发器和/或执行单元之间的触发器;执行单元内的协议转换器和/或执行单元之间的协议转换器;执行单元之间的控制器和/或处理器。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
根据本公开的实施例的任务处理方法,通过待处理任务的处理流程和处理节点获得中间表示模型,并映射至处理组件的硬件单元,而非基于硬件设计中间表示模型,提升了中间表示模型的灵活性和通用型,实现了软硬解耦,对异构融合算法的支持性更强。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出根据本公开实施例的任务处理方法的流程图;
图2示出根据本公开实施例的图编程的示意图;
图3示出根据本公开实施例的中间表示模型的示意图;
图4A、图4B、图4C和图4D示出根据本公开实施例的处理组件的示意图;
图5示出根据本公开实施例的替换处理的示意图;
图6示出根据本公开实施例的删除处理的示意图;
图7示出根据本公开实施例的映射处理的示意图;
图8示出根据本公开实施例的任务处理装置的框图;
图9示出根据本公开实施例的一种电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开实施例的任务处理方法的流程图,如图1所示,所述方法包括:
在步骤S11中,根据待处理任务的处理流程和处理节点,获得所述待处理任务的中间表示模型,所述中间表示模型包括所述待处理任务的数据传输与数据处理的关系模型,所述中间表示模型包括处理节点及处理节点之间的连接关系,所述处理节点包括计算节点、状态节点、数据节点、转码节点、代码节点中的至少一种;
在步骤S12中,对所述中间表示模型进行编译处理,获得所述待处理任务的执行模型,所述编译处理包括将所述中间表示模型映射至处理组件中对应的硬件单元,得到执行模型,使得所述执行模型能够通过所述处理组件,根据所述中间表示模型所表示的数据传输与数据处理的关系,对所述待处理任务进行处理;
在步骤S13中,根据所述执行模型对所述待处理任务进行处理,获得所述待处理任务的执行结果。
根据本公开的实施例的任务处理方法,通过待处理任务的处理流程和处理节点获得中间表示模型,并映射至处理组件的硬件单元,而非基于硬件设计中间表示模型,提升了中间表示模型的灵活性和通用型,实现了软硬解耦,对异构融合算法的支持性更强。
在一种可能的实现方式中,为提升中间表示模型的灵活性和通用型,可对人工智能算法或类脑算法的待处理任务的功能进行分析,获得待处理任务的至少一个处理节点以及待处理任务的处理流程,每个处理节点可表示待处理任务中进行的一项或多项运算或操作。并可基于待处理任务的处理流程和处理节点确定中间表示模型,该中间表示模型为基于人工智能算法或类脑算法的待处理任务本身确定的模型,而非基于硬件设备确定的模型,因此,对于模型的设计具有较高的灵活性,可支持多种算法。并且,将中间表示模型映射至处理组件的硬件单元后,可进行多种任务的处理,可实现更好的通用性。
在一种可能的实现方式中,在步骤S11中,可确定待处理任务的中间表示模型。中间表示模型可包括待处理任务的处理节点,以及处理节点之间的连接关系,可表示为由处理节点和连接关系等元素构成的关系图。如上所述,处理节点可表示待处理任务的一项或多项运算或操作,可基于待处理任务的处理流程确定处理节点之间的连接关系,例如,在待处理任务中,可首先执行A操作,其次,基于A操作的处理结果执行B操作,则A操作对应的处理节点与B操作对应的处理节点连接,且A操作对应的处理节点在B操作对应的处理节点之前,本公开对获得中间表示模型的具体方式不做限制。
在一种可能的实现方式中,待处理任务可以是人工智能或类脑计算任务,可包括多种处理节点,例如,用于表示计算的计算节点,用于表示状态的状态节点,和/或用于表示数据的数据节点等,本公开对处理节点的类型不做限制。
在一种可能的实现方式中,可通过对待处理任务的算法进行图编程的方式,获得所述中间表示模型。步骤S11可包括:确定所述待处理任务的处理节点的功能;根据所述处理节点的功能以及所述处理流程,确定所述处理节点之间的连接关系;根据所述处理节点之间的连接关系和所述处理节点的功能,获得所述中间表示模型。
图2示出根据本公开实施例的图编程的示意图,如图2所示,可首先初始化所述图编程的关系图(即,还未包括处理节点和连接关系等元素的中间表示模型)。并可确定待处理任务的处理节点的功能,即,对各处理节点进行定义。在示例中,可基于待处理任务所要进行的处理,确定待处理任务的多个节点,每个节点的功能可表示对应的处理。例如,处理节点node1为卷积节点,处理节点node2为频率编码节点,处理节点node3为激活节点,处理节点node4为编码节点,分别表示待处理任务中的卷积处理、频率编码处理、激活处理和编码处理。本公开对处理节点的具体类型和对应的处理不做限制。
在一种可能的实现方式中,可基于待处理任务的处理流程和处理节点的功能,获得处理节点的连接关系,待处理任务为多种操作的构成的处理流程,可基于该处理流程,确定可代表所述操作的处理节点的连接关系,如上例,可首先执行A操作,其次,基于A操作的处理结果执行B操作,则A操作对应的处理节点与B操作对应的处理节点连接,且A操作对应的处理节点在B操作对应的处理节点之前。
在示例中,如图2所示,可连接node1和node2,且node1在node2之前,可连接node2和node3,且node2在node3之前,连接node3和node4,且node3在node4之前。
在一种可能的实现方式中,基于上述连接关系和处理节点的功能,可获得基本的中间表示模型,即,由处理节点和连接关系等元素构成的关系图。在更复杂的待处理任务中,还可能包括其他元素,例如,某些功能具有一定的触发条件,即,在满足触发条件时,才执行这些功能,对应地,某些处理节点在满足触发条件时才进行对应的处理。
在一种可能的实现方式中,在中间表示模型中,上述满足触发条件时才进行对应的处理的处理节点可被设置在关系图的特定区域中,该特定区域为触发区域。根据所述处理节点之间的连接关系和所述处理节点的功能,获得所述中间表示模型,包括:根据所述处理节点的功能和所述处理节点之间的连接关系,确定包括一个或多个处理节点的触发区域,所述触发区域中的处理节点在满足预设条件时执行对应的功能;根据所述处理节点之间的连接关系、所述处理节点的功能和所述触发区域,获得所述中间表示模型。
在一种可能的实现方式中,在确定触发区域时,可将上述满足触发条件时才进行对应的处理的处理节点,以及这些处理节点之间的连接关系均设置在触发区域内,在加入触发区域的元素后,可构成中间表示模型。
在示例中,在中间表示模型的关系图中,触发区域可表示为具有触发节点的区域,触发节点为用于检测触发条件是否满足的节点,在触发条件满足时,设置在触发区域内的触发节点才能够按照连接关系所表示的逻辑顺序执行。
在一种可能的实现方式中,还可设置近似区域,并可将近似区域内的处理节点及其连接关系使用其他对应区域内的处理节点及其连接关系代替,所述对应区域内的处理节点及其连接关系与近似区域内的处理节点及其连接关系的功能相同或近似,但其结构通常比近似区域内的处理节点及其连接关系更简单,可通过这种方式来简化中间表示模型,以提升处理效率。
在示例中,如图2所示,可将处理节点node3和node4及其连接关系所在的区域设置为近似区域area1,该近似区域area1可由对应区域ir2内的处理节点及其连接关系近似代替,以在功能相同或相近的情况下简化中间表示模型。进一步地,可将处理节点node1和近似区域area1内的节点及其连接关系所在区域设置为触发区域area2,并设置触发条件trigger,在触发条件满足时,触发区域内的处理节点才会执行相应的处理。
在示例中,在完成上述设置后,可获得中间表示模型ir1,即,包括上述处理节点及其连接关系,以及触发区域和近似区域等元素的关系图。使用上述方式,可将不同执行主体和/或不同程序语言执行的待处理任务转化为逻辑清晰、易于表达的中间表示模型,且能够由中间表示模型映射至处理组件的硬件单元,提升处理组件对多种任务的兼容性及支持性。
图3示出根据本公开实施例的中间表示模型的示意图,如图3所示,中间表示模型可以是通过上述图编程方式对待处理任务进行转化而来的关系图。该关系图中包括多种处理节点及其连接关系。
在示例中,所述处理节点可包括用于表示待处理任务(例如,类脑算法任务)所需要的数据的数据节点,例如,神经网络的权重、激活函数的参数等。
在示例中,所述处理节点可包括用于执行某种处理或运算的计算节点,例如,上例中的卷积节点、频率编码节点、激活节点、编码节点等可处于所述计算节点。
在示例中,所述处理节点可包括用于表示计算节点在执行时需要维持的状态的状态节点,状态节点通常与一个或更多个计算节点连接,计算节点在执行时,可读取状态节点中的状态信息。
在示例中,所述处理节点可包括用于在处理节点之间进行数据协议转换的转码节点。例如,根据异构融合算法的特点,算法任务中可包括多种数据协议,转码节点可将当前处理节点能够使用的协议转换为下一个处理节点所需要的协议。上述数据协议的转换包括但不限于:数据精度不同时对数据协议的转换、ANN编码与SNN编码的数据协议转换、SNN编码如速率编码/时间编码/种群编码等之间的数据协议转换。本公开对数据协议的转换不做限制。
在示例中,所述处理节点可包括用于代码节点,代码节点可包括某种功能的代码,例如,调用其他功能节点的代码,或者控制执行流程的代码等,代码节点执行时,即为执行该段代码,以实现对应的功能。
在示例中,中间表示模型还可包括近似区域和触发区域等元素,近似区域中的处理节点及其连接关系可由对应区域进行近似代替,对应区域中的处理节点及其连接关系的功能与近似区域中的处理节点及其连接关系的功能近似或相同,但结构更简单。
在示例中,触发区域可包括触发节点,用于判断触发条件是否满足,如果触发条件满足,设置在触发区域内的触发节点则可按照连接关系所表示的逻辑顺序执行。
在一种可能的实现方式中,在获得上述中间表示模型后,可将中间表示模型映射至处理组件中对应的硬件单元,得到执行模型,所述执行模型即为具有中间表示模型所表达的功能的处理组件,亦为能够执行特定算法功能的硬件。在步骤S12中,可执行上述映射处理。
在一种可能的实现方式中,所述处理组件可包括一个或多个执行单元,所述执行单元包括存储器、路由器、控制器和处理器。所述存储器可用于存储执行单元运算所需的数据,例如,神经网络的权重,激活函数的激活参数等。本公开对存储器中存储的数据类型不做限制。所述路由器可用于执行单元之间的通信,例如,可读取本执行单元的存储器中的数据或者获取本执行单元的处理器的处理结果,以发送给其他执行单元,或者,可接收其他执行单元发送的数据并写入本执行单元的存储器中,或直接提供给处理器进行运算。控制器可用于调度处理器读取存储器中的数据或路由器提供的数据以进行处理,处理器则用于对数据的实际处理。
在一种可能的实现方式中,所述处理组件还包括以下中的至少一种:执行单元内的触发器和/或执行单元之间的触发器;执行单元内的协议转换器和/或执行单元之间的协议转换器;执行单元之间的控制器和/或处理器。
在示例中,触发器与上述中间表示模型中的触发区域的触发节点类似,可用于判断触发条件是否满足,并在满足触发条件时,使得控制器和/或处理器执行特定的功能。在示例中,触发器可设置在执行单元内,也可设置在执行单元之间,本公开对此不做限制。
在示例中,协议转换器与上述中间表示模型中的转码节点类似,可用于进行数据协议的转换。转换的方式包括但不限于精度的转换、编码格式的转换。在示例中,协议转换器可设置在执行单元内,也可设置在执行单元之间,本公开对此不做限制。
在示例中,所述控制器和/或处理器也可设置在执行单元之间,例如,用于特定功能的处理的控制器和/或处理器可设置在执行单元之间,或者,可将执行单元内的控制器和/或处理器的部分功能设置为由执行单元之间的控制器和/或处理器来执行。
图4A、图4B、图4C和图4D示出根据本公开实施例的处理组件的示意图,如图4A所示,每个计算核(core)可表示一个执行单元,处理组件可包括多个执行单元,其中,上述触发器、控制器、处理器、协议转换器、存储器和路由器均设置在执行单元内,以执行相应的处理。
在示例中,如图4B所示,协议转换器可设置在执行单元之间,用于在执行单元之间传输数据时,对数据进行协议转换,例如,在执行单元1将处理结果发送至执行单元2时,协议转换器可将执行单元1的处理结果转换为执行单元2能够处理的数据格式,使得执行单元2能够对转换后的处理结果进行处理。
在示例中,如图4C所示,除了协议转换器,还可将处理器设置在执行单元之间,以执行一些特定的功能,例如,可将激活处理分配给执行单元的处理器来执行,例如,执行单元1的处理结果可输入执行单元1和执行单元2之间的处理器来进行激活处理,并将激活处理的结果输入执行单元2以进行进一步的处理。在另一示例中,还可将控制器设置在执行单元之间,本公开对此不做限制。
在示例中,如图4D所示,触发器可设置在执行单元之间,以确定触发条件是否满足,例如,执行单元1的处理结果可输入执行单元1和执行单元2之间的触发器,以判断该处理结果是否满足触发条件,如果满足触发条件,则执行单元2可继续执行,即,可将执行单元1的处理结果发送给执行单元2,否则,该处理结果则不会被发送至执行单元2,执行单元2则不会继续执行。
在一种可能的实现方式中,在步骤S12中,可将中间表示模型映射至处理组件中对应的硬件单元,获得执行模型。在一个示例中,可将中间表示模型中的处理节点,映射至处理组件中执行与处理节点相同或类似功能的硬件单元,使硬件单元执行处理节点对应的运算或操作,使硬件单元之间的数据交互关系满足中间表示模型中处理节点之间的连接关系。例如,如上所述,处理组件中的一些硬件单元与中间表示模型中的一些处理节点的功能类似或相同,例如,处理组件中的触发器与中间表示模型中的触发节点的功能类似,处理组件中的协议转换器与中间表示模型中的转码节点的功能类似,可将中间表示模型中的功能节点映射至处理组件中功能类似的硬件单元,使得具有该功能的处理组件(即,执行模型)能够通过该功能对待处理任务进行处理。具体的映射手段可以是将处理节点的输入数据赋值给具有映射关系的硬件单元的输入端口,将处理节点的参数赋与具有映射关系的硬件单元,等等,本申请对此不作限制。
在一种可能的实现方式中,在映射之前,为了提高对待处理任务的处理效率以及处理精度,还可对中间表示模型进行以下处理中的至少一种:根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行替换处理;根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行删除处理;根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行训练处理。
在一种可能的实现方式中,可对中间表示模型中的一个或多个处理节点进行替换处理,与上述通过近似区域进行近似代替的处理类似,可对中间表示模型中的部分处理节点及其连接关系进行近似代替,例如,使用更简洁的结构来代替原中间表示模型中的复杂结构,且可保持功能不变或近似。或者,此阶段的替换处理也可作为通过近似区域进行近似代替的实际执行,例如,确定出中间表示模型中的近似区域以及用于近似代替的对应区域仅为在中间表示模型的关系图中进行选择的处理,而此阶段的替换处理则可作为近似代替的实际执行处理。
图5示出根据本公开实施例的替换处理的示意图,如图5所示,图3中的虚线选定的近似区域可替换成图3中的更简洁的对应区域,获得图5中的替换处理后的中间表示模型,使得中间表示模型更简洁,且保持功能不变或近似,提升处理效率。
在一种可能的实现方式中,可对中间表示模型中的一个或多个处理节点进行删除处理。例如,可将冗余节点、无用的节点、或表示常量的节点删除,或者,将功能相同的相邻节点进行合并,使得中间表示模型更简洁,且保持功能不变。
图6示出根据本公开实施例的删除处理的示意图,如图6所示,可将相邻的协议转换器进行合并,以减少冗余,使得中间表示模型更简洁,且保持功能不变,提升处理效率。
在一种可能的实现方式中,可对中间表示模型中的一个或多个处理节点进行训练处理。例如,对于需要训练的处理节点进行训练,可使得处理节点中的参数被调优,使得处理节点的处理结果更准确,也可提升映射处理之后对应的硬件单元的性能。
在一种可能的实现方式中,在进行上述优化处理后,可对优化处理后的中间表示模型进行映射,将中间表示模型的功能映射至处理组件中对应的硬件单元,获得执行模型,即,具有对应功能的硬件单元。
图7示出根据本公开实施例的映射处理的示意图,在示例中,在映射过程中,可将具有类似或相同功能的功能节点和硬件单元进行映射,使得硬件单元具有功能节点的参数和功能,以执行特定的处理。例如,可将数据节点和状态节点映射至存储器,可将计算节点映射至处理器,可将代码节点映射至控制器,可将转码节点映射至协议转换器,可将触发节点映射至触发器,可将连接关系映射至路由器。进一步地,由于处理组件可包括多个执行单元,还可在映射处理时制定中间表示模型所对应的执行单元。
在一种可能的实现方式中,在映射处理后,可获得执行模型,即,具有处理待处理任务的功能的硬件组件。可在步骤S13中通过执行模型来执行待处理任务,即可获得待处理任务的执行结果。例如,人工智能算法任务或类脑算法任务的执行结果。本公开对待处理任务的类型不做限制。
根据本公开的实施例的任务处理方法,通过待处理任务的处理流程和处理节点获得中间表示模型,并映射至处理组件的硬件单元,而非基于硬件设计中间表示模型,提升了中间表示模型的灵活性和通用型,实现了软硬解耦,对异构融合算法的支持性更强。并且,在确定中间表示模型时,还可通过替换、删除、训练等处理对中间表示模型进行优化,使得中间表示模型更简洁,以提升执行模型的处理效率。
图8示出根据本公开实施例的任务处理装置的框图,如图8所示,所述装置包括:中间表示模型获得模块11,用于根据待处理任务的处理流程和处理节点,获得所述待处理任务的中间表示模型,所述中间表示模型包括所述待处理任务的数据传输与数据处理的关系模型,所述中间表示模型包括处理节点及处理节点之间的连接关系,所述处理节点包括计算节点、状态节点、数据节点、转码节点、代码节点中的至少一种;编译模块12,用于对所述中间表示模型进行编译处理,获得所述待处理任务的执行模型,所述编译处理包括将所述中间表示模型映射至处理组件中对应的硬件单元,得到执行模型,使得所述执行模型能够通过所述处理组件,根据所述中间表示模型所表示的数据传输与数据处理的关系,对所述待处理任务进行处理;执行模块13,用于根据所述执行模型对所述待处理任务进行处理,获得所述待处理任务的执行结果。
在一种可能的实现方式中,所述中间表示模型获得模块进一步用于:确定所述待处理任务的处理节点的功能;根据所述处理节点的功能以及所述处理流程,确定所述处理节点之间的连接关系;根据所述处理节点之间的连接关系和所述处理节点的功能,获得所述中间表示模型。
在一种可能的实现方式中,所述中间表示模型获得模块进一步用于:根据所述处理节点的功能和所述处理节点之间的连接关系,确定包括一个或多个处理节点的触发区域,所述触发区域中的处理节点在满足预设条件时执行对应的功能;根据所述处理节点之间的连接关系、所述处理节点的功能和所述触发区域,获得所述中间表示模型。
在一种可能的实现方式中,所述编译模块还用于:对所述中间表示模型进行以下处理中的至少一种:根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行替换处理;根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行删除处理;根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行训练处理。
在一种可能的实现方式中,所述处理组件包括一个或多个执行单元,所述执行单元包括存储器、路由器、控制器和处理器。
在一种可能的实现方式中,所述处理组件还包括以下中的至少一种:执行单元内的触发器和/或执行单元之间的触发器;执行单元内的协议转换器和/或执行单元之间的协议转换器;执行单元之间的控制器和/或处理器。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了任务处理装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种任务处理方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任一实施例提供的任务处理方法的指令。
本公开实施例还提供了另一种计算机程序产品,用于存储计算机可读指令,指令被执行时使得计算机执行上述任一实施例提供的任务处理方法的操作。
电子设备可以被提供为终端、服务器或其它形态的设备。
图9示出根据本公开实施例的一种电子设备1900的框图。参照图9,电子设备1900包括处理组件1922,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (4)

1.一种任务处理方法,其特征在于,包括:
根据待处理任务的处理流程和处理节点,获得所述待处理任务的中间表示模型,所述中间表示模型包括所述待处理任务的数据传输与数据处理的关系模型,所述中间表示模型包括处理节点及处理节点之间的连接关系,所述处理节点包括计算节点、状态节点、数据节点、转码节点、代码节点中的至少一种;
对所述中间表示模型进行编译处理,获得所述待处理任务的执行模型,所述编译处理包括将所述中间表示模型映射至处理组件中对应的硬件单元,得到执行模型,使得所述执行模型能够通过所述处理组件,根据所述中间表示模型所表示的数据传输与数据处理的关系,对所述待处理任务进行处理;
根据所述执行模型对所述待处理任务进行处理,获得所述待处理任务的执行结果;
根据待处理任务的处理流程和处理节点,获得所述待处理任务的中间表示模型,包括:
确定所述待处理任务的处理节点的功能;
根据所述处理节点的功能以及所述处理流程,确定所述处理节点之间的连接关系;
根据所述处理节点之间的连接关系和所述处理节点的功能,获得所述中间表示模型;
根据所述处理节点之间的连接关系和所述处理节点的功能,获得所述中间表示模型,包括:
根据所述处理节点的功能和所述处理节点之间的连接关系,确定包括一个或多个处理节点的触发区域,所述触发区域中的处理节点在满足预设条件时执行对应的功能;
根据所述处理节点之间的连接关系、所述处理节点的功能和所述触发区域,获得所述中间表示模型;
对所述中间表示模型进行编译处理,获得所述待处理任务的执行模型,还包括:
对所述中间表示模型进行以下处理中的至少一种:
根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行替换处理;
根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行删除处理;
根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行训练处理;
所述处理组件包括一个或多个执行单元,所述执行单元包括存储器、路由器、控制器和处理器;
所述处理组件还包括以下中的至少一种:
执行单元内的触发器和/或执行单元之间的触发器;
执行单元内的协议转换器和/或执行单元之间的协议转换器;
执行单元之间的控制器和/或处理器。
2.一种任务处理装置,其特征在于,包括:
中间表示模型获得模块,用于根据待处理任务的处理流程和处理节点,获得所述待处理任务的中间表示模型,所述中间表示模型包括所述待处理任务的数据传输与数据处理的关系模型,所述中间表示模型包括处理节点及处理节点之间的连接关系,所述处理节点包括计算节点、状态节点、数据节点、转码节点、代码节点中的至少一种;
编译模块,用于对所述中间表示模型进行编译处理,获得所述待处理任务的执行模型,所述编译处理包括将所述中间表示模型映射至处理组件中对应的硬件单元,得到执行模型,使得所述执行模型能够通过所述处理组件,根据所述中间表示模型所表示的数据传输与数据处理的关系,对所述待处理任务进行处理;
执行模块,用于根据所述执行模型对所述待处理任务进行处理,获得所述待处理任务的执行结果;
所述中间表示模型获得模块进一步用于:确定所述待处理任务的处理节点的功能;根据所述处理节点的功能以及所述处理流程,确定所述处理节点之间的连接关系;根据所述处理节点之间的连接关系和所述处理节点的功能,获得所述中间表示模型;
所述中间表示模型获得模块进一步用于:根据所述处理节点的功能和所述处理节点之间的连接关系,确定包括一个或多个处理节点的触发区域,所述触发区域中的处理节点在满足预设条件时执行对应的功能;根据所述处理节点之间的连接关系、所述处理节点的功能和所述触发区域,获得所述中间表示模型;
所述编译模块还用于:对所述中间表示模型进行以下处理中的至少一种:根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行替换处理;根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行删除处理;根据处理节点的功能,对所述中间表示模型中的一个或多个处理节点进行训练处理;
所述处理组件包括一个或多个执行单元,所述执行单元包括存储器、路由器、控制器和处理器;
所述处理组件还包括以下中的至少一种:执行单元内的触发器和/或执行单元之间的触发器;执行单元内的协议转换器和/或执行单元之间的协议转换器;执行单元之间的控制器和/或处理器。
3.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1所述的方法。
4.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1所述的方法。
CN202210194563.3A 2022-03-01 2022-03-01 任务处理方法及装置、电子设备和存储介质 Active CN114546624B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210194563.3A CN114546624B (zh) 2022-03-01 2022-03-01 任务处理方法及装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210194563.3A CN114546624B (zh) 2022-03-01 2022-03-01 任务处理方法及装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN114546624A CN114546624A (zh) 2022-05-27
CN114546624B true CN114546624B (zh) 2024-04-09

Family

ID=81661671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210194563.3A Active CN114546624B (zh) 2022-03-01 2022-03-01 任务处理方法及装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN114546624B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069284A (zh) * 2019-03-14 2019-07-30 成都恒创新星科技有限公司 一种基于opu指令集的编译方法及编译器
CN111832736A (zh) * 2019-04-19 2020-10-27 伊姆西Ip控股有限责任公司 用于处理机器学习模型的方法、设备和计算机程序产品
CN113360157A (zh) * 2020-03-05 2021-09-07 阿里巴巴集团控股有限公司 一种程序编译方法、设备以及计算机可读介质
CN113806054A (zh) * 2021-09-27 2021-12-17 北京市商汤科技开发有限公司 任务处理方法及装置、电子设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569185B2 (en) * 2014-02-07 2017-02-14 Oracle International Corporation Changing de-optimization guard representation during the compilation process

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069284A (zh) * 2019-03-14 2019-07-30 成都恒创新星科技有限公司 一种基于opu指令集的编译方法及编译器
CN111832736A (zh) * 2019-04-19 2020-10-27 伊姆西Ip控股有限责任公司 用于处理机器学习模型的方法、设备和计算机程序产品
CN113360157A (zh) * 2020-03-05 2021-09-07 阿里巴巴集团控股有限公司 一种程序编译方法、设备以及计算机可读介质
CN113806054A (zh) * 2021-09-27 2021-12-17 北京市商汤科技开发有限公司 任务处理方法及装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN114546624A (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
TWI620075B (zh) 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法
CN110852421B (zh) 模型生成方法和装置
CN110807515A (zh) 模型生成方法和装置
US10891950B2 (en) Graph based prediction for next action in conversation flow
CN110768914B (zh) 基于语义场景实例迁移的去中心化物联网关系统
EP4290824A1 (en) Task allocation method and apparatus based on internet-of-things device, and network training method and apparatus
Farshbafan et al. Curriculum learning for goal-oriented semantic communications with a common language
US20220066409A1 (en) Method and system for generating an artificial intelligence model
CN107924332B (zh) Ict服务供应的方法和系统
CN110058937B (zh) 用于调度专用处理资源的方法、设备和介质
CN112199189A (zh) 深度学习模型对资源受限边缘设备的适应
KR20220051209A (ko) 포인트 클라우드 코딩을 위한 해시 기반 속성 예측
CN111353601A (zh) 用于预测模型结构的延时的方法和装置
US20180060737A1 (en) Adaptive analytical modeling tool
CN115794106A (zh) 一种轨道交通二进制协议数据配置式解析的方法及系统
CN111192143B (zh) 数据处理方法、装置、存储介质及区块链节点
WO2023072443A1 (en) Workload migration
AU2021359236B2 (en) Distributed resource-aware training of machine learning pipelines
US11816868B2 (en) Coding of multiple-component attributes for point cloud coding
CN114546624B (zh) 任务处理方法及装置、电子设备和存储介质
CN116134419A (zh) 软件容器的运行时环境确定
KR102123750B1 (ko) 네트워크 서비스 요청
CN113366510A (zh) 经由训练的原始网络与双网络来执行多目标任务
CN115412401B (zh) 训练虚拟网络嵌入模型及虚拟网络嵌入的方法和装置
WO2023077989A1 (en) Incremental machine learning for a parametric machine learning model

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