CN115269013A - 一种支持并发处理多个计算加速引擎的异步计算方法及装置 - Google Patents
一种支持并发处理多个计算加速引擎的异步计算方法及装置 Download PDFInfo
- Publication number
- CN115269013A CN115269013A CN202210966615.4A CN202210966615A CN115269013A CN 115269013 A CN115269013 A CN 115269013A CN 202210966615 A CN202210966615 A CN 202210966615A CN 115269013 A CN115269013 A CN 115269013A
- Authority
- CN
- China
- Prior art keywords
- asynchronous
- processing
- asynchronous calculation
- calculation
- local data
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 138
- 238000012545 processing Methods 0.000 title claims abstract description 125
- 230000001133 acceleration Effects 0.000 title claims abstract description 84
- 238000013500 data storage Methods 0.000 claims abstract description 29
- 230000003993 interaction Effects 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 62
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013461 design Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本发明提供一种支持并发处理多个计算加速引擎的异步计算方法及装置,属于高性能微处理器设计技术领域。该方法包括如下步骤:S1:在加速核心内部集成多个用以处理不同的加速需求的异步计算引擎;S2:控制主流水线接收异步计算指令并基于异步计算指令获取异步计算请求;S3:基于异步计算请求从多个异步计算引擎中获取目标异步计算引擎,控制目标异步计算引擎进行异步计算处理得到处理结果,将处理结果存储在局部数据存储器中;S4:控制局部数据存储器和主流水线进行数据交互以将处理结果交互至主流水线。本发明可以支持一个或多个异步计算加速引擎,以应对应用中不同的加速需求,因此具有一定的灵活性和扩展性。
Description
技术领域
本发明涉及高性能微处理器设计技术领域,具体而言,涉及一种支持并发处理多个计算加速引擎的异步计算方法及装置。
背景技术
人工智能技术与物联网在现实应用中的落地融合,催生了AIoT时代的到来。这个时代将会是一个处理器需求再度爆发的时代,但同时也会是一个需求碎片化的时代,不同的领域、不同行业对芯片需求会有所不同,比如集成不同的传感器、不同的加速器等等。如何应对碎片化需求这又将会是一个挑战。对处理器设计领域,如何应对不同的加速需求,是一个值得考虑的问题。不同的加速器往往实现了不同的功能,在集成这些不同的加速器的同时,如何才能高效支持不同加速器的合理调度和相互协同,这是一个问题。
异步并发处理常常是用来对一些专用领域进行加速处理的有效方法,人工智能领域常见的异步处理结构如CPU+TPU,CPU和TPU之间是异步并发处理结构,共享主存储器,CPU负责串行和控制流部分的处理,TPU则对人工智能领域的专用运算,特别是卷积运算进行加速处理,两者主要通过主存进行数据交换。现有的技术方案通常是实现不同的加速处理器芯片,与主CPU构成异构芯片架构实现专用领域的加速,或者在片上支持异构核心的协同处理实现专用计算的加速。异构芯片加速架构,由于异构芯片间主要通过主存进行数据交互,交互延迟较长,频繁的交互会极大的降低性能加速带来的收益。片上异构核心间协同可以降低加速核心与主处理核心间的交互延迟,但是由于加速核心的实现要么比较完备,导致实现开销比较大,要么仅只支持某些功能的加速,不能很好的适应应用中不同的加速需求。
发明内容
为了解决上述问题,本申请实施例提供了一种支持并发处理多个计算加速引擎的异步计算方法及装置。
第一方面,本申请实时例提供了一种支持并发处理多个计算加速引擎的异步计算方法,包括如下步骤:
S1:在加速核心内部集成多个用以处理不同的加速需求的异步计算引擎;
S2:控制主流水线接收异步计算指令并基于异步计算指令获取异步计算请求;
S3:基于异步计算请求从多个异步计算引擎中获取目标异步计算引擎,控制目标异步计算引擎进行异步计算处理得到处理结果,将处理结果存储在局部数据存储器中;
S4:控制局部数据存储器和主流水线进行数据交互以将处理结果交互至主流水线。
优选的,步骤S2和S3之间还包括:将异步计算请求转发至目标异步计算引擎中。
优选的,步骤S4中具体包括:控制局部数据存储器向主流水线发送回答字或同步信号;控制主流水线读取局部数据存储器中存储的处理结果。
优选的,步骤S3中具体包括
S31:获取该异步计算请求的第一关键信息以及多个异步计算引擎的第二关键信息,如果第二关键信息和第一关键信息相匹配,则将该第二关键信息对应的异步计算引擎设置为目标异步计算引擎;
S32:调取局部数据存储器中存储的该异步计算请求对应的初始数据,基于初始数据控制目标异步计算引擎进行该异步计算处理得到处理结果;
S33:将处理结果发送至局部数据存储器中以使局部数据存储器储存处理结果。
第二方面,本申请实施例提供了一种支持并发处理多个计算加速引擎的异步计算装置,包括
构建模块,用以在加速核心内部集成包括多个用以处理不同的加速需求的异步计算引擎的异步计算模块;
主流水线;
控制模块,用以控制主流水线接收异步计算指令并基于异步计算指令获取异步计算请求;
局部数据存储器;
异步计算模块,用以基于异步计算请求从多个异步计算引擎中获取目标异步计算引擎,控制目标异步计算引擎进行异步计算处理得到处理结果,将处理结果存储在局部数据存储器中;
交互模块,用以控制局部数据存储器和主流水线进行数据交互以将处理结果交互至主流水线。
优选的,还包括
消息转发模块,用以将异步计算请求转发至目标异步计算引擎中。
优选的,所述交互模块包括
通知单元,用以控制局部数据存储器向主流水线发送回答字或同步信号;
读取单元,用以控制主流水线读取局部数据存储器中存储的处理结果。
优选的,所述异步计算模块包括
匹配单元,用以获取该异步计算请求的第一关键信息以及多个异步计算引擎的第二关键信息,如果第二关键信息和第一关键信息相匹配,则将该第二关键信息对应的异步计算引擎设置为目标异步计算引擎;
计算单元,用以调取局部数据存储器中存储的该异步计算请求对应的初始数据,基于初始数据控制目标异步计算引擎进行该异步计算处理得到处理结果;
结果发送单元,用以将处理结果发送至局部数据存储器中以使局部数据存储器储存处理结果。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
本发明的有益效果为:1)在加速核心内部集成多个用以处理不同的加速需求的异步计算引擎,可以支持一个或多个异步计算加速引擎,以应对应用中不同的加速需求,因此具有一定的灵活性和扩展性;
2)局部数据存储器和主流水线进行数据交互以将处理结果交互至主流水线,通过在局部数据存储器与主流水线之间通过回答字或同步等握手机制进行数据交换,延迟短,对整体性能的影响较小。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种支持并发处理多个计算加速引擎的异步计算方法的流程示意图;
图2为本申请实施例提供的一种支持并发处理多个计算加速引擎的异步计算装置的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图;
图4为本申请实施例提供的一种支持并发处理多个计算加速引擎的异步计算装置中主流水线、消息转发模块、异步计算模块、局部数据存储器的原理图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在下述介绍中,术语“第一”、“第二”仅为用于描述的目的,而不能理解为指示或暗示相对重要性。下述介绍提供了本申请的多个实施例,不同实施例之间可以替换或者合并组合,因此本申请也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征A、B、C,另一个实施例包含特征B、D,那么本申请也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
下面的描述提供了示例,并且不对权利要求书中阐述的范围、适用性或示例进行限制。可以在不脱离本申请内容的范围的情况下,对描述的元素的功能和布置做出改变。各个示例可以适当省略、替代或添加各种过程或组件。例如所描述的方法可以以所描述的顺序不同的顺序来执行,并且可以添加、省略或组合各种步骤。此外,可以将关于一些示例描述的特征组合到其他示例中。
请参阅图1。图1是本申请实施例提供的一种支持并发处理多个计算加速引擎的异步计算方法的流程示意图。在本申请实施例中,方法包括如下步骤:
S1:在加速核心内部集成多个用以处理不同的加速需求的异步计算引擎;
S2:控制主流水线接收异步计算指令并基于异步计算指令获取异步计算请求;
S3:基于异步计算请求从多个异步计算引擎中获取目标异步计算引擎,控制目标异步计算引擎进行异步计算处理得到处理结果,将处理结果存储在局部数据存储器中;
S4:控制局部数据存储器和主流水线进行数据交互以将处理结果交互至主流水线。
在本申请实施例中,本申请涉及一种支持异步计算的处理机制,及实现该处理机制的功能装置。本申请在片上异构核心加速的基础上,本申请创造性地在加速核心内部集成多个用以处理不同的加速需求的异步计算引擎,针对应用中不同的加速需求,支持多个并发的异步计算加速引擎,实现开销较小,可以支持多种功能的加速,可以很好的适应应用中不同的加速需求,这些并发的加速引擎和加速核心共享局部数据存储器,通过回答字或硬件同步的方式进行握手并实现数据交换。
在一种可实施方式中,步骤S2和S3之间还包括:将异步计算请求转发至目标异步计算引擎中。
在本申请实施例中,方便快速地将异步计算请求从主流水线转发至目标异步计算引擎中。
在一种可实施方式中,步骤S4中具体包括:控制局部数据存储器向主流水线发送回答字或同步信号;控制主流水线读取局部数据存储器中存储的处理结果。
在本申请实施例中,在得到处理结果后,将处理计算结果存储到局部数据存储中的对应位置,控制局部数据存储器向主流水线发送回答字或同步信号,从而通知主流水线可以读取处理结果。
在一种可实施方式中,步骤S3中具体包括
S31:获取该异步计算请求的第一关键信息以及多个异步计算引擎的第二关键信息,如果第二关键信息和第一关键信息相匹配,则将该第二关键信息对应的异步计算引擎设置为目标异步计算引擎;
S32:调取局部数据存储器中存储的该异步计算请求对应的初始数据,基于初始数据控制目标异步计算引擎进行该异步计算处理得到处理结果;
S33:将处理结果发送至局部数据存储器中以使局部数据存储器储存处理结果。
在本申请实施例中,本发明的做法是在加速核心内部,集成一个或多个异步计算加速引擎,每个异步计算引擎可以执行不同的功能,这些异步计算引擎和加速核心共享局部数据存储器。当程序运行时,加速核心主要执行程序中的核心算法,完成核心算法中的数据处理和串行的程序流控制,当执行到异步计算指令时,向消息转发模块部件发送异步计算请求,请求指示了哪一个计算引擎,加速计算的类型,初始的数据存储在局部数据存储器中的位置,数据处理的长度,结果数据在局部数据存储中的位置,等等,根据不同的异步计算加速引擎而有所不同。消息转发模块部件将异步计算请求转发到对应的异步计算加速引擎上,驱动目标异步计算引擎执行。目标异步计算引擎感知到请求后,根据请求指示的内容,从局部数据存储器中取出初始数据进行相应的计算处理,处理完后,将处理结果存储到局部数据存储器中的对应位置,并发送回答字或同步信号,通知主流水线可以读取处理结果。这种支持并发处理多个计算加速引擎的异步计算机制,总的特点就是可扩展性强,灵活性好,在同一个应用中支持多种类型的计算加速。
这种支持并发处理多个计算加速引擎的异步计算机制,总的特点就是可扩展性强,灵活性好,在同一个应用中支持多种类型的计算加速。
下面将结合附图2,对本申请实施例提供的支持并发处理多个计算加速引擎的异步计算装置进行详细介绍。需要说明的是,附图2所示的支持并发处理多个计算加速引擎的异步计算装置,用于执行本申请图1所示实施例的方法,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请图1所示的实施例。
请参见图2,图2是本申请实施例提供的一种支持并发处理多个计算加速引擎的异步计算装置的结构示意图。如图2所示,装置包括
构建模块201,用以在加速核心内部集成包括多个用以处理不同的加速需求的异步计算引擎的异步计算模块205;
主流水线202;
控制模块203,用以控制主流水线接收异步计算指令并基于异步计算指令获取异步计算请求;
局部数据存储器204;
异步计算模块205,用以基于异步计算请求从多个异步计算引擎中获取目标异步计算引擎,控制目标异步计算引擎进行异步计算处理得到处理结果,将处理结果存储在局部数据存储器204中;
交互模块206,用以控制局部数据存储器204和主流水线202进行数据交互以将处理结果交互至主流水线202。
在本实施例中,本发明中的构建模块201在加速核心内部集成包括多个用以处理不同的加速需求的异步计算引擎的异步计算模块205,在异步计算模块205中包括多个实现不同加速需求的异步计算引擎,支持多个计算加速引擎的并发处理,以提供多种类型的计算加速,这些异步计算引擎可以应对应用中不同的加速需求,因此具有一定的灵活性和扩展性。
在一种可实施方式中,还包括
消息转发模块207,用以将异步计算请求转发至目标异步计算引擎中。
在一种可实施方式中,交互模块206包括
通知单元,用以控制局部数据存储器204向主流水线202发送回答字或同步信号;
读取单元,用以控制主流水线202读取局部数据存储器204中存储的处理结果。
在本实施例中,参见图4,主流水线202通过消息驱动异步计算引擎进行处理。异步计算引擎负责计算处理,与主流水线均为加速核心内部模块,共享局部数据存储器204。异步计算引擎接收主流水线202来的异步处理请求,访问局部数据存储器204中的数据进行计算处理,处理完后通过握手机制(回答字或同步)与主流水线202进行数据交互。本发明实现的异步计算加速,通过交互模块206控制局部数据存储器204与主流水线202进行数据交互,局部数据存储器204和主流水线202之间通过回答字或同步等握手机制进行数据交换,通过消息驱动和握手机制交换数据的异步计算机制,延迟短,对整体性能的影响较小。
在一种可实施方式中,异步计算模块205包括
匹配单元,用以获取该异步计算请求的第一关键信息以及多个异步计算引擎的第二关键信息,如果第二关键信息和第一关键信息相匹配,则将该第二关键信息对应的异步计算引擎设置为目标异步计算引擎;
计算单元,用以调取局部数据存储器204中存储的该异步计算请求对应的初始数据,基于初始数据控制目标异步计算引擎进行该异步计算处理得到处理结果;
结果发送单元,用以将处理结果发送至局部数据存储器204中以使局部数据存储器204储存处理结果。
本领域的技术人员可以清楚地了解到本申请实施例的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”、“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammableGate Array,FPGA)、集成电路(Integrated Circuit,IC)等。
本申请实施例的各处理单元和/或模块,可通过实现本申请实施例的功能的模拟电路而实现,也可以通过执行本申请实施例的功能的软件而实现。
参见图3,其示出了本申请实施例所涉及的一种电子设备的结构示意图,该电子设备可以用于实施图1所示实施例中的方法。如图3所示,电子设备300可以包括:至少一个中央处理器301,至少一个网络接口304,用户接口303,存储器305,至少一个通信总线302。
其中,通信总线302用于实现这些组件之间的连接通信。
其中,用户接口303可以包括显示屏(Display)、摄像头(Camera),可选用户接口303还可以包括标准的有线接口、无线接口。
其中,网络接口304可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,中央处理器301可以包括一个或者多个处理核心。中央处理器301利用各种接口和线路连接整个电子设备300内的各个部分,通过运行或执行存储在存储器305内的指令、程序、代码集或指令集,以及调用存储在存储器305内的数据,执行终端300的各种功能和处理数据。可选的,中央处理器301可以采用数字信号处理(Digital SignalProcessing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。中央处理器301可集成中央中央处理器(Central Processing Unit,CPU)、图像中央处理器(GraphicsProcessing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到中央处理器301中,单独通过一块芯片进行实现。
其中,存储器305可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器305包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器305可用于存储指令、程序、代码、代码集或指令集。存储器305可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器305可选的还可以是至少一个位于远离前述中央处理器301的存储装置。如图3所示,作为一种计算机存储介质的存储器305中可以包括操作系统、网络通信模块、用户接口模块以及程序指令。
在图3所示的电子设备300中,用户接口303主要用于为用户提供输入的接口,获取用户输入的数据;而中央处理器301可以用于调用存储器305中存储的支持并发处理多个计算加速引擎的异步计算应用程序,并具体执行以下操作:
S1:在加速核心内部集成多个用以处理不同的加速需求的异步计算引擎;
S2:控制主流水线接收异步计算指令并基于异步计算指令获取异步计算请求;
S3:基于异步计算请求从多个异步计算引擎中获取目标异步计算引擎,控制目标异步计算引擎进行异步计算处理得到处理结果,将处理结果存储在局部数据存储器中;
S4:控制局部数据存储器和主流水线进行数据交互以将处理结果交互至主流水线。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(RandomAccess Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory, ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
Claims (10)
1.一种支持并发处理多个计算加速引擎的异步计算方法,其特征在于,包括如下步骤:
S1:在加速核心内部集成多个用以处理不同的加速需求的异步计算引擎;
S2:控制主流水线接收异步计算指令并基于异步计算指令获取异步计算请求;
S3:基于异步计算请求从多个异步计算引擎中获取目标异步计算引擎,控制目标异步计算引擎进行异步计算处理得到处理结果,将处理结果存储在局部数据存储器中;
S4:控制局部数据存储器和主流水线进行数据交互以将处理结果交互至主流水线。
2.如权利要求1所述的一种支持并发处理多个计算加速引擎的异步计算方法,其特征在于,步骤S2和S3之间还包括:将异步计算请求转发至目标异步计算引擎中。
3.如权利要求1或2所述的一种支持并发处理多个计算加速引擎的异步计算方法,其特征在于,步骤S4中具体包括:控制局部数据存储器向主流水线发送回答字或同步信号;控制主流水线读取局部数据存储器中存储的处理结果。
4. 如权利要求3所述的一种支持并发处理多个计算加速引擎的异步计算方法,其特征在于,步骤S3中具体包括 S31:获取该异步计算请求的第一关键信息以及多个异步计算引擎的第二关键信息,如果第二关键信息和第一关键信息相匹配,则将该第二关键信息对应的异步计算引擎设置为目标异步计算引擎;
S32:调取局部数据存储器中存储的该异步计算请求对应的初始数据,基于初始数据控制目标异步计算引擎进行该异步计算处理得到处理结果;
S33:将处理结果发送至局部数据存储器中以使局部数据存储器储存处理结果。
5.一种支持并发处理多个计算加速引擎的异步计算装置,其特征在于:包括
构建模块,用以在加速核心内部集成包括多个用以处理不同的加速需求的异步计算引擎的异步计算模块;
主流水线;
控制模块,用以控制主流水线接收异步计算指令并基于异步计算指令获取异步计算请求;
局部数据存储器;
异步计算模块,用以基于异步计算请求从多个异步计算引擎中获取目标异步计算引擎,控制目标异步计算引擎进行异步计算处理得到处理结果,将处理结果存储在局部数据存储器中;
交互模块,用以控制局部数据存储器和主流水线进行数据交互以将处理结果交互至主流水线。
6.如权利要求5所述的一种支持并发处理多个计算加速引擎的异步计算装置,其特征在于:还包括
消息转发模块,用以将异步计算请求转发至目标异步计算引擎中。
7.如权利要求5或6所述的一种支持并发处理多个计算加速引擎的异步计算装置,其特征在于:所述交互模块包括
通知单元,用以控制局部数据存储器向主流水线发送回答字或同步信号;
读取单元,用以控制主流水线读取局部数据存储器中存储的处理结果。
8.如权利要求5或6所述的一种支持并发处理多个计算加速引擎的异步计算装置,其特征在于:所述异步计算模块包括
匹配单元,用以获取该异步计算请求的第一关键信息以及多个异步计算引擎的第二关键信息,如果第二关键信息和第一关键信息相匹配,则将该第二关键信息对应的异步计算引擎设置为目标异步计算引擎;
计算单元,用以调取局部数据存储器中存储的该异步计算请求对应的初始数据,基于初始数据控制目标异步计算引擎进行该异步计算处理得到处理结果;
结果发送单元,用以将处理结果发送至局部数据存储器中以使局部数据存储器储存处理结果。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210966615.4A CN115269013A (zh) | 2022-08-12 | 2022-08-12 | 一种支持并发处理多个计算加速引擎的异步计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210966615.4A CN115269013A (zh) | 2022-08-12 | 2022-08-12 | 一种支持并发处理多个计算加速引擎的异步计算方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115269013A true CN115269013A (zh) | 2022-11-01 |
Family
ID=83750342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210966615.4A Pending CN115269013A (zh) | 2022-08-12 | 2022-08-12 | 一种支持并发处理多个计算加速引擎的异步计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115269013A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627893A (zh) * | 2023-07-18 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 加速引擎配置方法、装置、并行数估计系统、设备及介质 |
-
2022
- 2022-08-12 CN CN202210966615.4A patent/CN115269013A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627893A (zh) * | 2023-07-18 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 加速引擎配置方法、装置、并行数估计系统、设备及介质 |
CN116627893B (zh) * | 2023-07-18 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 加速引擎配置方法、装置、并行数估计系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9304813B2 (en) | CPU independent graphics scheduler for performing scheduling operations for graphics hardware | |
US11853767B2 (en) | Inter-core data processing method, system on chip and electronic device | |
US8639749B2 (en) | Platform independent information handling system, communication method, and computer program product thereof | |
JP7100154B2 (ja) | プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体 | |
CN110955499B (zh) | 处理器核心配置方法、装置、终端及存储介质 | |
US11016769B1 (en) | Method and apparatus for processing information | |
US20140359006A1 (en) | Dynamic local function binding apparatus and method | |
EP4057145A1 (en) | Method for multi-core communication, electronic device and storage medium | |
CN110008027B (zh) | 进程的运行方法、装置、终端及存储介质 | |
CN111338808B (zh) | 一种协同计算方法及系统 | |
US10613977B1 (en) | Target port with distributed transactions | |
CN115269013A (zh) | 一种支持并发处理多个计算加速引擎的异步计算方法及装置 | |
US20170093791A1 (en) | Systems, apparatuses, methods, and non-transitory computer readable media for efficient call processing | |
CN110138868B (zh) | 一种客服接入方法、装置、介质和计算设备 | |
CN114222003A (zh) | 服务调用方法、系统、装置、设备及存储介质 | |
CN109426529B (zh) | 基于x窗口系统图形绘制的方法、装置及终端 | |
EP4044043A1 (en) | Storage process running method and apparatus, database system, and storage medium | |
CN110445874B (zh) | 一种会话处理方法、装置、设备和存储介质 | |
CN113626137A (zh) | 一种支持多格式镜像的实现方法、装置、设备和介质 | |
WO2016054780A1 (zh) | 异步指令执行装置和方法 | |
EP1341092A1 (en) | Method and arrangement for virtual direct memory access | |
CN117667141B (zh) | 充电协议软件系统和多方协同处理方法 | |
JP7548281B2 (ja) | キャッシュ管理プログラム、キャッシュ管理方法、および情報処理装置 | |
KR102426288B1 (ko) | 음성 호를 통한 인공지능 비서 서비스 제공 방법 및 장치 | |
JP6940283B2 (ja) | Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム |
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 |