CN110059038A - 一种基于可重构计算的高性能弹性连接架构及方法 - Google Patents
一种基于可重构计算的高性能弹性连接架构及方法 Download PDFInfo
- Publication number
- CN110059038A CN110059038A CN201910350931.7A CN201910350931A CN110059038A CN 110059038 A CN110059038 A CN 110059038A CN 201910350931 A CN201910350931 A CN 201910350931A CN 110059038 A CN110059038 A CN 110059038A
- Authority
- CN
- China
- Prior art keywords
- rpu
- channel
- array
- output
- input
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明涉及一种基于可重构计算的高性能弹性连接架构,包括:协议控制器、桥接模块和高性能弹性连接通道。协议控制器通过配置总线、数据总线与主控系统进行通信。桥接模块通过高性能弹性连接通道与协议控制器以及可重构计算单元RPU阵列相连接。协议控制器接收第一配置信息并进行协议转换,然后发送给桥接模块。桥接模块根据协议转换后的第一模块配置信息,将PRU阵列中不同PRU按照配置顺序进行桥接;以及将用于配置RPU阵列的第一配置信息传输至RPU阵列,以便RPU阵列按照第一RPU阵列配置信息进行配置,执行不同计算任务。
Description
技术领域
本发明涉及可重构计算领域,尤其是涉及一种基于可重构计算的高性能弹性计算所需的弹性连接架构及方法。
背景技术
随着科技的进步,一些嵌入式环境对系统的性能、能耗等需求不断提高,传统的计算模式暴露出了种种弊端。于是可重构计算便越来越受到业界的重视。可重构计算能够实现算法到计算引擎的空间映射(spatial mapping),并且在被制造成集成电路后还具有定制能力。
基于可重构计算的系统架构,需要根据平台的算力需求对可重构处理单元(reconfigurable processing unit,RPU)进行数量上的配置。这些配置的RPU在可重构计算的系统中,会根据需求相互通信,RPU也会和主控系统进行通信。在可重构计算的系统中,需要主控系统与RPU之间,以及RPU与RPU之间需要实现点对点高带宽和高可靠通信。但此时点对点之间通信可能同时存在多对,且会出现通信两端的对象会频繁调整等情况。目前的总线架构或交换机制将无法满足当前需求。对于现有的总线架构或交换机制,其内部通信采用的接口不具有通用性,无法满足高性能弹性计算的需求。同时,现有通用的多路超高带宽的数据交换处理器的成本较为昂贵,且需要复杂的通信协议作为支撑,导致开发复杂度高、系统开销大。
发明内容
本发明主要根据可重构计算的高性能弹性计算(high performance elasticcomputing,HEC)内部通信的特点,提出一种弹性连接架构,解决了HEC主控系统和RPU之间,以及多个RPU之间的高速高可靠性通信。为RPU的弹性部署提供了一种可行的连接架构。
为实现上述目的,本发明一方面提供了一种基于可重构计算的高性能弹性连接架构,包括:协议控制器、桥接模块和高性能弹性连接通道。协议控制器通过配置总线、数据总线与主控系统进行通信。桥接模块通过高性能弹性连接通道与协议控制器以及可重构计算单元RPU阵列相连接。协议控制器通过配置总线接收主控系统发送的第一配置信息,对第一配置信息进行协议转换,并通过高性能弹性连接通道发送给桥接模块;第一配置信息包括第一桥接模块配置信息和第一RPU阵列配置信息。桥接模块根据协议转换后的第一桥接模块配置信息,将PRU阵列中不同PRU按照配置顺序进行桥接;以及桥接模块根据协议转换后的第一RPU阵列配置信息,通过高性能弹性连接通道将第一RPU阵列配置信息传输至RPU阵列,以便RPU阵列按照第一RPU阵列配置信息进行配置,执行不同计算任务。
优选地,协议控制器通过配置总线、数据总线与主控系统进行通信包括:协议控制器通过数据总线接收主控系统发送的待处理数据;协议控制器通过配置总线,接收主控系统发送的第一配置信息;以及协议控制器通过配置总线向主控系统发送状态信息;其中,状态信息包括桥接模块的状态信息和PRU阵列的状态信息。
优选地,架构还包括多层总线,多层总线与协议控制器相连。配置总线用于发送第二配置信息,第二配置信息用于对单独的RPU进行配置。多层总线用于发送第三配置信息,第三配置信息用于对RPU阵列中多个不同的RPU之间进行配置,使得RPU阵列中多个不同的RPU按照预定的配置顺序进行计算。
优选地,高性能弹性连接通道包括第一组通道和至少一个第二组通道。第一组通道包括:第一矩阵输入通道、第一矩阵输出通道和第一控制总线。第一组通道用于协议控制器与桥接模块之间进行通信。第二组通道包括:RPU输入通道、RPU输出通道和RPU控制总线。至少一个第二组通道用于桥接模块与RPU阵列中的至少一个RPU之间进行通信。
优选地,桥接模块包括:桥接子模块、第二控制总线和桥接控制器。桥接子模块为一个(N+1)*(N+1)的通道矩阵,其中N为RPU阵列中RPU的个数。其中,(N+1)*(N+1)的通道矩阵包括N+1条输入通道和N+1条输出通道,N+1条输入通道包括1条第二矩阵输入通道和N条RPU输入通道,N+1条输出通道包括1条第二矩阵输出通道和N条RPU输出通道。第二矩阵输入通道与高性能弹性连接通道连接,用于桥接子模块将数据传输给协议控制器。第二矩阵输出通道与高性能弹性连接通道连接,用于桥接子模块接收协议控制器发送的数据。第二控制总线与高性能弹性连接通道连接,用于与协议控制器和RPU阵列通信。桥接控制器与第二控制总线相连接,用于控制桥接子模块中第X条输入通道和第Y条输出通道之间进行桥接,并且控制任意一条输入通道在同一时刻不与两条及更多输出通道进行桥接,和控制任意一条输出通道在同一时刻不与两条及更多输入通道进行桥接;其中,0<X≠Y≤N+1,X和Y为正整数。
优选地,桥接控制器将第二矩阵输入通道与N条RPU输出通道中的一条进行桥接,用于主控系统与RPU阵列中的一个RPU进行通信;或将第二矩阵输出通道与N条RPU输入通道中的一条进行桥接,用于主控系统与RPU阵列中的一个RPU进行通信;或将第二矩阵输入通道与N条RPU输出通道中的一条进行桥接,同时将第二矩阵输出通道与N条RPU输入通道中的一条进行桥接,用于主控系统与RPU阵列中的一个RPU进行通信。
优选地,RPU阵列包括发送端RPU和接收端RPU。发送端RPU和接收端RPU经过发送端RPU的RPU控制总线、接收端RPU的RPU控制总线以及第二控制总线进行握手。桥接控制器在发送端RPU和接收端RPU握手后,控制发送端RPU对应的RPU输出通道与接收端RPU的RPU输入通道进行桥接。桥接控制器还用于将数据传输的控制权转移给接收端RPU内的直接内存存取DMA控制器。
优选地,RPU阵列包括多个RPU,多个RPU按照顺序进行串联通信。第二控制总线接收协议控制器发送的配置流信息,配置流信息用于指示多个RPU对应的输入通道和输出通道顺序进行桥接。其中,第一个RPU对应的输入通道与第二矩阵输出通道进行桥接;以及,顺序进行桥接为前一个RPU对应的输出通道与后一个RPU对应的输入通道进行桥接。配置流信息还用于指示任务执行完毕的RPU对应的输出通道与第二矩阵输入通道进行桥接。其中,RPU阵列中的任意一个RPU对应的输入通道在同一时刻,不会接收其他任意两个RPU对应的输出通道传来的数据;或RPU阵列中的任意一个RPU对应的输入通道在同一时刻,不会接收其他任意一个RPU对应的输出通道和第二矩阵输出通道传来的数据;或RPU阵列中的任意一个RPU对应的输出通道在同一时刻,不会发送数据给其他任意两个RPU对应的输入通道;或RPU阵列中的任意一个RPU对应的输出通道在同一时刻,不会发送数据给其他任意一个RPU对应的输入通道和第二矩阵输入通道。桥接控制器还用于分时复用RPU阵列中的任意一个RPU对应的输入通道和输出通道,用于该RPU与其他任意两个RPU进行数据通信,或该RPU与主控系统和其他任意一个或以上RPU进行通信。
优选地,在通信结束后释放桥接,以及接收端RPU内的直接内存存取DMA控制器释放数据传输控制权。
本发明另一方面提供了一种基于可重构计算的高性能弹性连接方法,包括:接收主控系统发送的第一配置信息;第一配置信息包括第一桥接模块配置信息和第一RPU阵列配置信息。对第一配置信息进行协议转换。根据转换后的第一桥接模块配置信息桥接可重构计算单元PRU阵列中不同的PRU,并根据转换后的第一RPU阵列配置信息配置RPU阵列。接收主控系统发送的数据信息,并根据桥接好的顺序发送至PRU阵列中不同的PRU中执行不同计算任务。
本发明实现了通过协议控制器、桥接模块和高性能弹性连接通道将HEC主控系统和RPU之间,以及多个RPU之间进行桥接,解决了HEC主控系统和RPU之间,以及多个RPU之间高速高可靠通信的问题。同时HEC主控系统可以根据算力需求对多个RPU进行弹性部署,可灵活执行不同计算任务。
附图说明
图1为本发明实施例提供的一种基于可重构计算的高性能弹性连接架构示意图;
图2a为本发明实施例提供的一种执行单一任务时的桥接架构示意图;
图2b为图2a所示架构的逻辑示意图;
图3a为本发明实施例提供的另一种执行单一任务时的桥接示意图;
图3b为图3a所示架构的逻辑示意图;
图4a为本发明实施例提供的再一种执行单一任务时的桥接示意图;
图4b为图4a所示架构的逻辑示意图;
图5a为本发明实施例提供的一种执行多任务时的桥接示意图;
图5b为图5a所示架构的逻辑示意图;
图6a为本发明实施例提供的另一种执行多任务时的桥接示意图;
图6b为图6a所示架构的逻辑示意图;
图7a为本发明实施例提供的再一种执行多任务时的桥接示意图;
图7b为图7a所示架构的逻辑示意图;
图8a为本发明实施例提供的再一种执行多任务时的桥接示意图;
图8b为图8a所示架构的逻辑示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明中将数据从桥接模块流向协议控制器或者RPU阵列的通道定义为输入通道,将数据从协议控制器或者RPU阵列流向桥接模块的通道定义为输出通道。其中,输入通道和输出通道可以有一对或多对高速低压差分线组成。
图1为本发明实施例提供的一种基于可重构计算的高性能弹性连接架构示意图。
如图1所示,在一个实施例中,本发明供了一种基于可重构计算的高性能弹性连接架构,包括:协议控制器、桥接模块和高性能弹性连接通道。
其中,高性能弹性连接通道可以包括两类通道。一类为用于协议控制器与桥接模块之间进行通信的第一组通道。第一组通道包括:第一矩阵输入通道(Input_Array)、第一矩阵输出通道(Output_Array)和第一控制总线(Ctrl_bus)。另一类为用于桥接模块与RPU阵列中的一个RPU之间进行通信的第二组通道。第二组通道包括:RPU输入通道(Input_RPU)、RPU输出通道(Output_RPU)和RPU控制总线(Ctrl_bus_RPU)。其中,可以包含多个第二组通道。每个第二组通道与RPU阵列中的每个RPU一一连接,换句话说,就是RPU阵列中的每个RPU都通过一个第二组通道与桥接模块相连接。具体的,第一矩阵输入通道、第一矩阵输出通道、RPU输入通道和RPU输出通道用于传输执行计算任务时的可重构数据;第一控制总线和RPU控制总线用于传输用于进行相应配置的配置信息。
协议控制器通过配置总线、数据总线与主控系统进行通信。在一个例子中,协议控制器通过配置总线接收主控系统发送的第一配置信息,对第一配置信息进行协议转换,并通过第一组通道中的第一控制总线将协议转换后的配置信息发送给桥接模块。其中,第一配置信息包括第一桥接模块配置信息和第一RPU阵列配置信息。第一桥接模块配置信息用于对桥接模块进行配置,使得桥接模块可以按照配置信息对RPU阵列中多个RPU进行桥接,从而实现RPU阵列中多个RPU之间的互联。第一RPU阵列配置信息用于对RPU阵列进行配置,进一步的,第一RPU阵列配置信息用于对RPU阵列中相应的RPU进行配置,使得该RPU实现相应的计算功能。例如当需要RPU阵列中的RPU 0执行乘法运算,则第一RPU阵列配置信息用于对RPU阵列中的RPU 0进行配置,以便后续在RPU 0中执行乘法运算。协议控制器通过数据总线接收主控系统发送的用于执行计算任务的可重构数据。
在另一个例子中,还可以包括多层总线,多层总线与协议控制器相连。配置总线用于发送第二配置信息,第二配置信息用于对单独的RPU进行配置。多层总线用于发送第三配置信息,第三配置信息用于对RPU阵列中多个不同RPU之间的协调进行配置,使得RPU阵列中多个不同的RPU按照预定的配置顺序进行计算。在一个例子中,HEC主控系统将用于配置单独RPU的配置信息通过配置总线传输至协议控制器,然后经第一组通道、桥接模块、第二组通道最终传输到相应的RPU中进行配置。在另一个例子中,当计算任务需要多个RPU相互配合,即需要多个RPU进行计算且需要不同RPU之间相互配合并相互调用数据时,则HEC主控系统将多个RPU之间如何相互协调的配置信息通过多层总线传输至协议控制器,然后经第一组通道、桥接模块、第二组通道最终传输到相应的RPU中进行配置。例如该配置信息配置了RPU阵列中多个RPU进行计算的顺序,即配置了一个RPU在某一时刻应当从多个RPU中的哪一个RPU调取数据。本领域人员应当主要,多层总线仅作为一个可选的示例,本发明中在多层总线上传输的配置信息也可以由配置总线代为传输,从而取消多层总线,以降低硬件成本。
协议控制器还可以通过配置总线向主控系统发送状态信息。其中,状态信息包括桥接模块的状态信息和PRU阵列的状态信息。当在执行完计算任务时或在执行计算任务过程中,HEC主控系统还需要周期性或非周期性的接收桥接模块的状态信息和RPU阵列的状态信息,以便可以动态调整桥接模块和RPU阵列的配置。例如HEC主控系统获取到当前桥接模块和RPU阵列的状态信息,了解到当前计算任务已经执行完成,HEC主控系统便可以发送新的配置信息,以配置桥接模块和RPU阵列执行新的计算任务。再例如,若当前计算任务在执行过程中需要更新桥接模块中的桥接或需要同一个RPU执行多种不同的计算,则在任务执行过程中,HEC主控系统获取到当前桥接模块和RPU阵列的状态信息,并发送新的配置信息,以更新桥接模块和RPU阵列的配置,从而继续执行计算任务。
桥接模块通过第一组通道与协议控制器,以及通过第二组通道与RPU阵列相连接。桥接模块根据协议转换后的第一桥接模块配置信息,将PRU阵列中不同PRU按照配置顺序进行桥接。以及桥接模块根据协议转换后的第一RPU阵列配置信息,通过第二组通道将第一RPU阵列配置信息传输至RPU阵列,以便RPU阵列按照第一RPU阵列配置信息进行配置,执行不同计算任务。
在一个例子中,桥接模块可以包括:桥接子模块、第二控制总线(Ctrl_bus)和桥接控制器。桥接子模块为一个(N+1)*(N+1)的通道矩阵,其中N为RPU阵列中RPU的个数,如图1中RPU阵列所示包括了RPU 0——RPU N-1。其中,(N+1)*(N+1)的通道矩阵包括N+1条输入通道和N+1条输出通道,N+1条输入通道包括1条第二矩阵输入通道(Input_Array)和N条RPU输入通道(Input_RPU);N+1条输出通道包括1条第二矩阵输出通道(Output_Array)和N条RPU输出通道(Output_RPU)。第二矩阵输入通道与第一组通道中的第一矩阵输入通道连接,用于桥接子模块将计算结果的数据传输给协议控制器。第二矩阵输出通道与第一组通道中的第一矩阵输出通道连接,用于桥接子模块接收协议控制器发送的用于执行计算任务的可重构数据。第二控制总线与第一组通道中的第一控制总线连接,以及与一个或多个第二组通道中的RPU控制总线连接,用于桥接模块接收来自HEC主控系统的配置信息,并将与RPU阵列相关的配置信息传输至RPU阵列,同时还用于将桥接模块的状态信息和PRU阵列的状态信息反馈至HEC主控系统。
桥接控制器与第二控制总线相连接,用于控制桥接子模块中第X条输入通道和第Y条输出通道之间进行桥接,并且控制任意一条输入通道在同一时刻不与两条及更多输出通道进行桥接,和控制任意一条输出通道在同一时刻不与两条及更多输入通道进行桥接;其中,0<X≠Y≤N+1,X和Y为正整数。在一个例子中,桥接模块通过第二控制总线接收到来自HEC主控系统的第一配置信息,将第一配置信息中用于配置桥接模块的第一桥接模块配置信息存入桥接控制器中。桥接控制器根据第一桥接配置信息对桥接模块的桥接子模块进行相应配置。同时,桥接控制器还用于将第一配置信息中用于配置RPU阵列的配置信息,通过第二控制总线传输至相应的RPU控制总线上,以便传输至相应的RPU中进行配置。
桥接控制器通过对桥接子模块的配置,以实现不同的通信链路。在一个例子中,当HEC主控系统中的某个片外存储需要某个RPU进行通信时,桥接模块中的桥接控制器需要将第二矩阵输入通道与N条RPU输出通道中的一条进行桥接,用于RPU阵列中的一个RPU向主控系统进行通信。在另一个例子中,需要将第二矩阵输出通道与N条RPU输入通道中的一条进行桥接,用于主控系统向RPU阵列中的一个RPU进行通信。再一个例子中,需要将第二矩阵输入通道与N条RPU输出通道中的一条进行桥接,同时将第二矩阵输出通道与N条RPU输入通道中的一条进行桥接,用于主控系统与RPU阵列中的一个RPU进行双向通信。
计算任务往往不仅仅需要调用1个RPU,当遇到复杂计算任务时,则需要HEC主控系统调用多个RPU进行相应计算。此时,RPU之间需要相互调用计算数据。例如一个RPU需要调用另一个RPU的计算结果或者中间计算数据作为自身的计算数据进行相应计算。对应这种情况,RPU阵列还包括发送端RPU和接收端RPU。发送端RPU需要将中间数据或者计算结果发送给接收端RPU,以便接收端RPU进行相应计算。此时,发送端RPU和接收端RPU经过各自的RPU控制总线以及第二控制总线进行握手。桥接控制器在发送端RPU和接收端RPU握手后,控制发送端RPU对应的RPU输出通道与接收端RPU的RPU输入通道进行桥接。桥接控制器还用于将数据传输的控制权转移给接收端RPU内的直接内存存取DMA控制器。在通信结束后需要释放上述桥接,以及接收端RPU内的DMA控制器需要释放数据传输控制权。
在一个实施例中,RPU阵列包括多个RPU,多个RPU按照顺序进行串联通信。第二控制总线接收协议控制器发送的配置流信息,配置流信息用于指示多个RPU对应的输入通道和输出通道顺序进行桥接。其中,第一个RPU对应的输入通道与第二矩阵输出通道进行桥接。其中,顺序进行桥接为前一个RPU对应的输出通道与后一个RPU对应的输入通道进行桥接。配置流信息还用于指示任务执行完毕的RPU对应的输出通道与第二矩阵输入通道进行桥接。其中,RPU阵列中的任意一个RPU对应的输入通道在同一时刻,不会接收其他任意两个RPU对应的输出通道传来的数据;或RPU阵列中的任意一个RPU对应的输入通道在同一时刻,不会接收其他任意一个RPU对应的输出通道和第二矩阵输出通道传来的数据;或RPU阵列中的任意一个RPU对应的输出通道在同一时刻,不会发送数据给其他任意两个RPU对应的输入通道;或RPU阵列中的任意一个RPU对应的输出通道在同一时刻,不会发送数据给其他任意一个RPU对应的输入通道和第二矩阵输入通道。在一个例子中,当任意一个RPU需要同时与其他多个RPU或与其他RPU和HEC主控系统进行通信时,桥接控制器还用于分时复用RPU阵列中的任意一个RPU对应的输入通道和输出通道,用于该RPU与其他任意两个RPU进行数据通信,或该RPU与主控系统和其他任意一个或以上RPU进行通信。在通信结束后需要释放上述桥接。由此可以弹性部署RPU,形成一个针对不同任务的计算阵列。
本发明中,数据总线上传输的信息通过协议控制器进行转换后通过第一输入通道、第一输出通道、第二输入通道、第二输出通道、RPU输入通道以及RPU输出通道进行通信。本领域人员应当注意,本发明中配置总线和多层总线的信息通过第一控制总线、第二控制总线和RPU控制总线进行通信。第一控制总线、第二控制总线和RPU控制总线上传输的信息按照总线的通信机制进行通信,本发明不做限定。
本发明的一种基于可重构计算的高性能弹性连接架构可以通过HEC主控系统直接控制或者通过编程逻辑控制,实现了不同RPU之间、HEC主控系统和RPU之间的点对点高速数据通信,以及实现了HEC主控系统和多个RPU之间的点对多点的配置与控制信息通信。
图2a为本发明实施例提供的一种执行单一任务时的桥接架构示意图。
如图2a所示,提供了执行单一任务时图1所示架构的一种桥接形式。例如,如图2a示出的,当前需要执行的任务需要8个RPU,即RPU阵列中的RPU 0——RPU 7。此时,本发明提供的基于可重构计算的高性能弹性连接架构执行方式如下。
HEC主控系统通过配置总线将用于配置桥接模块的配置信息以及用于配置RPU阵列的配置信息传输至协议控制器。协议控制器将接收到的配置信息进行协议转换,转换成串行信号。协议控制器通过第一组通道中的第一控制总线,将转换后的串行信号传输至桥接模块。由于桥接模块中的第二控制总线与第一组通道中的第一控制总线相连,使得在第一控制总线上传输的串行信号通过第二控制总线传输至桥接模块中的桥接控制器。桥接控制器将用于配置RPU阵列的配置信息,通过第二控制总线与RPU阵列中各个RPU连接的RPU控制总线,传输至RPU阵列中相应的RPU中,以完成对RPU的配置。
桥接控制器根据用于配置桥接模块的配置信息对桥接子模块进行配置。在一个例子中,例如当前计算任务需要用到8个RPU进行串行计算,分别为RPU 0——RPU 7。此时该单一的任务执行时RPU需要顺序调用,顺序可以是从RPU 0至RPU 7依次顺序调用。此时桥接控制器对桥接子模块中相应的通道矩阵进行桥接,如图2a中桥接模块中通道矩阵,其中黑色圆点的相交位置即进行桥接的位置,用于连接处于相交位置的RPU输入通道和RPU输出通道。图2a示出的桥接方式为将第二矩阵输出通道(Output_Array)桥接到RPU 0的输入通道(Input_RPU 0),RPU 0的输出通道(Output_RPU 0)桥接到RPU 1的输入通道(Input_RPU1),RPU 1的输出通道(Output_RPU 1)桥接到RPU 2的输入通道(Input_RPU 2),RPU 2的输出通道(Output_RPU 2)桥接到RPU 3的输入通道(Input_RPU 3),RPU 3的输出通道(Output_RPU 3)桥接到RPU 4的输入通道(Input_RPU 4),RPU 4的输出通道(Output_RPU4)桥接到RPU 5的输入通道(Input_RPU 5),RPU 5的输出通道(Output_RPU 5)桥接到RPU 6的输入通道(Input_RPU 6),RPU 6的输出通道(Output_RPU 6)桥接到RPU 7的输入通道(Input_RPU 7)。当所需的计算任务只需要调用RPU0至RPU 7的一个循环就可以完成的时候,则将RPU 7的输出通道(Output_RPU 7)桥接到第二矩阵输入通道(Input_Array)即可。但在另一例子中,若当所需的计算任务需要调用RPU 0至RPU 7的多个循环才能完成时,则将RPU 7的输出通道(Output_RPU 7)桥接到RPU 0的输入通道(Input_RPU0)。本领域人员应当注意,此时需要释放第二矩阵输出通道(Output_Array)桥接到RPU 0的输入通道(Input_RPU 0)的桥接,以便完成RPU的循环调用。直至执行完最后一个循环时,释放RPU end的输出通道(Output_RPU end)与其他RPU输入通道(Input_RPU)的桥接,并将RPU end的输出通道(Output_RPU end)桥接到第二矩阵输入通道(Input_Array),用于将计算结果传输给HEC主控系统。其中,RPU end表示最后一个执行完的RPU,可以是RPU 0至RPU 7中的任意一个。
本领域人员应当注意,RPU数量是根据实际计算任务需求而定,本发明对应RPU数量并不做具体限定。
通过上述桥接模块对RPU阵列的桥接,当执行计算任务时,用于计算的可重构数据通过数据总线传输至协议控制器,通过协议控制器将可重构数据进行协议转换,转换为串行信号。并通过第一组通道的第一矩阵输出通道传输至桥接模块的第二矩阵输出通道。桥接模块便可根据上述的桥接方式,将串行信号通过桥接从第二矩阵输出通道传输至RPU 0输入通道,再通过与RPU 0连接的第二组通道中的RPU 0输入通道将串行信号传输至RPU 0中进行相应计算。当RPU 0计算完成后,将计算完的数据通过与RPU0连接的第二组通道中的RPU 0输出通道传输至桥接模块中的RPU 0输出通道。桥接模块再根据上述的桥接方式,将计算完的数据通过RPU 0输出通道传输至RPU 1输入通道,以便数据传输至RPU 1中继续进行计算。重复上述过程直至计算任务完成后,将计算完的数据通过与RPU end连接的第二组通道中的RPU end输出通道传输至桥接模块中的RPU end输出通道。桥接模块根据上述的桥接方式,将计算完的数据通过RPU end输出通道传输至第二矩阵输入通道,并通过第一组通道的第一矩阵输出通道传输至协议控制器。协议控制器将计算完的数据进行协议转换后,传输至HEC主控系统,以完成计算任务。本领域人员应当注意,在上述任务执行过程中,RPU阵列中用于执行任务的RPU以及桥接模块还会将自身的状态信息通过各自的控制总线反馈至桥接模块的桥接控制器以及HEC主控系统,以便在执行复杂任务时,可以动态调整桥接模块中的桥接通道,以及调整RPU以执行不同的计算任务。
在上述任务执行过程中,控制总线根据需求将每一个循环的配置信息传输至RPU阵列上,桥接模块根据配置信息以及RPU阵列中各个RPU的任务执行的状态信息,动态的控制输入通道与输出通道的桥接,用于RPU根据相应的配置信息以及输入通道传输的数据进行相应计算,并通过输出通道输出计算完的数据和通过相应的控制总线反馈自身的状态信息。
图2b为图2a所示架构的逻辑示意图。
如图2b所述,示出了图2a的逻辑架构图。对于图2a中执行的任务,HEC主控系统可以通过配置总线,配置RPU阵列中多个RPU的顺序调用,例如从RPU 0至RPU 7依次顺序调用。并通过数据总线将用于计算的可重构数据传输至RPU阵列中相应的RPU中,并进行计算。当计算完成时,再通过数据总线将计算完的数据传输至HEC主控系统。本领域人员应当注意,在计算过程中,HEC主控系统还会根据桥接模块和RPU阵列中用到的RPU反馈的状态信息,通过配置总线发送新的配置信息,用于动态配置桥接模块中桥接子模块中的桥接和RPU阵列中的RPU。
图3a为本发明实施例提供的另一种执行单一任务时的桥接示意图。
如图3a所示,提供了另一种执行单一任务时图1所示架构的一种桥接形式。例如,如图3a示出的,与图2a区别的是,当前需要执行的任务可能需要6个RPU,即RPU阵列中的RPU0——RPU 5。与图2a所示的示例相比较,仅仅是用于计算的RPU阵列数量不同,其余执行过程均与图2a所示示例相同。为方便描述,在此不再赘述。
图3b为图3a所示架构的逻辑示意图。
如图3b所述,示出了图3a的逻辑架构图。对于图3a中执行的任务,HEC主控系统可以通过配置总线,配置RPU阵列中多个RPU的顺序调用,例如从RPU 0至RPU 5依次顺序调用。并通过数据总线将用于计算的可重构数据传输至RPU阵列中相应的RPU中,并进行计算。当计算完成时,再通过数据总线将计算完的数据传输至HEC主控系统。本领域人员应当注意,在计算过程中,HEC主控系统还会根据桥接模块和RPU阵列中用到的RPU反馈的状态信息,通过配置总线发送新的配置信息,用于动态配置桥接模块中桥接子模块中的桥接和RPU阵列中的RPU。
图4a为本发明实施例提供的再一种执行单一任务时的桥接示意图。
如图4a所示,提供了再一种执行单一任务时图1所示架构的一种桥接形式。例如,如图4a示出的,与图3a区别的是,当前需要执行的任务需要5个RPU,并且相对于图2a和图3a中用到的RPU是依次顺序调用,在图4a中用到的RPU还可以根据实际需求按照其他特定顺序进行调用。与图2a和图3a所示的示例相比较,图4a中的桥接控制器对桥接子模块进行的配置可以是,例如当前计算任务需要用到5个RPU进行串行计算,调用顺序分别为RPU 6、RPU1、RPU 3、RPU 4、RPU 5。
此时桥接控制器对桥接子模块中相应的通道矩阵进行桥接,如图4a中桥接模块中通道矩阵,其中黑色圆点的相交位置即进行桥接的位置,用于连接处于相交位置的RPU输入通道和RPU输出通道。图4a示出的桥接方式为将第二矩阵输出通道(Output_Array)桥接到RPU 6的输入通道(Input_RPU 6),RPU 6的输出通道(Output_RPU 6)桥接到RPU 1的输入通道(Input_RPU 1),RPU 1的输出通道(Output_RPU 1)桥接到RPU 3的输入通道(Input_RPU3),RPU 3的输出通道(Output_RPU 3)桥接到RPU 4的输入通道(Input_RPU 4),RPU 4的输出通道(Output_RPU 4)桥接到RPU 5的输入通道(Input_RPU 5)。当所需的计算任务只需要调用RPU 6、RPU 1、RPU 3、RPU 4、RPU 5的一个循环就可以完成的时候,则将RPU 5的输出通道(Output_RPU 5)桥接到第二矩阵输入通道(Input_Array)即可。但在另一例子中,若当所需的计算任务需要调用RPU 6、RPU 1、RPU 3、RPU 4、RPU 5的多个循环才能完成时,则将RPU5的输出通道(Output_RPU 5)桥接到RPU 6的输入通道(Input_RPU6)。本领域人员应当注意,此时需要释放第二矩阵输出通道(Output_Array)桥接到RPU 6的输入通道(Input_RPU6)的桥接,以便完成RPU的循环调用。直至执行完最后一个循环时,释放RPU end的输出通道(Output_RPU end)与其他RPU输入通道(Input_RPU)的桥接,并将RPU end的输出通道(Output_RPU end)桥接到第二矩阵输入通道(Input_Array),用于将计算结果传输给HEC主控系统。其中,RPU end表示最后一个执行完的RPU,可以是RPU 6、RPU 1、RPU 3、RPU 4、RPU5中的任意一个。
本领域人员应当注意,RPU数量是根据实际计算任务需求而定,本发明对应RPU数量并不做具体限定。
通过上述桥接模块对RPU阵列的桥接,当执行计算任务时,用于计算的可重构数据通过数据总线传输至协议控制器,通过协议控制器将可重构数据进行协议转换,转换为串行信号。并通过第一组通道的第一矩阵输出通道传输至桥接模块的第二矩阵输出通道。桥接模块便可根据上述的桥接方式,将串行信号通过桥接从第二矩阵输出通道传输至RPU 6输入通道,再通过与RPU 6连接的第二组通道中的RPU 6输入通道将串行信号传输至RPU 6中进行相应计算。当RPU 6计算完成后,将计算完的数据通过与RPU 6连接的第二组通道中的RPU 6输出通道传输至桥接模块中的RPU 6输出通道。桥接模块再根据上述的桥接方式,将计算完的数据通过RPU 6输出通道传输至RPU 1输入通道,以便数据传输至RPU 1中继续进行计算。重复上述过程直至计算任务完成后,将计算完的数据通过与RPU end连接的第二组通道中的RPU end输出通道传输至桥接模块中的RPU end输出通道。桥接模块根据上述的桥接方式,将计算完的数据通过RPU end输出通道传输至第二矩阵输入通道,并通过第一组通道的第一矩阵输出通道传输至协议控制器。协议控制器将计算完的数据进行协议转换后,传输至HEC主控系统,以完成计算任务。本领域人员应当注意,在上述任务执行过程中,RPU阵列中用于执行任务的RPU以及桥接模块还会将自身的状态信息通过各自的控制总线反馈至桥接模块的桥接控制器以及HEC主控系统,以便在执行复杂任务时,可以动态调整桥接模块中的桥接通道,以及调整RPU以执行不同的计算任务。
在上述任务执行过程中,控制总线根据需求将每一个循环的配置信息传输至RPU阵列上,桥接模块根据配置信息以及RPU阵列中各个RPU的任务执行的状态信息,动态的控制输入通道与输出通道的桥接,用于RPU根据相应的配置信息以及输入通道传输的数据进行相应计算,并通过输出通道输出计算完的数据和通过相应的控制总线反馈自身的状态信息。
图4b为图4a所示架构的逻辑示意图。
如图4b所述,示出了图4a的逻辑架构图。对于图4a中执行的任务,HEC主控系统可以通过配置总线,配置RPU阵列中多个RPU按照特定顺序进行调用,例如按照RPU 6、RPU 1、RPU 3、RPU 4、RPU 5的顺序调用。并通过数据总线将用于计算的可重构数据传输至RPU阵列中相应的RPU中,并进行计算。当计算完成时,再通过数据总线将计算完的数据传输至HEC主控系统。本领域人员应当注意,在计算过程中,HEC主控系统还会根据桥接模块和RPU阵列中用到的RPU反馈的状态信息,通过配置总线发送新的配置信息,用于动态配置桥接模块中桥接子模块中的桥接和RPU阵列中的RPU。
图5a为本发明实施例提供的一种执行多任务时的桥接示意图。
如图5a所示,提供了执行多任务时图1所示架构的一种桥接形式。与图2a、图3a、图4a不同在于,图2a、图3a、图4a中示例了执行单一任务的不同情况,而图5a示出了需要执行多任务时图1所示架构的一种情况。
例如,如图5a示出的,当前需要同时执行2个任务,即A任务和B任务。每个任务需要顺序调用等量的RPU,即A任务需要调用RPU阵列中的RPU 0——RPU 3;B任务需要调用RPU阵列中的RPU 4——RPU 7。此时,本发明提供的基于可重构计算的高性能弹性连接架构执行方式如下。
HEC主控系统通过配置总线将用于配置桥接模块的配置信息以及用于配置RPU阵列的配置信息传输至协议控制器。协议控制器将接收到的配置信息进行协议转换,转换成串行信号。协议控制器通过第一组通道中的第一控制总线,将转换后的串行信号传输至桥接模块。由于桥接模块中的第二控制总线与第一组通道中的第一控制总线相连,使得在第一控制总线上传输的串行信号通过第二控制总线传输至桥接模块中的桥接控制器。桥接控制器将用于配置RPU阵列的配置信息,通过第二控制总线与RPU阵列中各个RPU连接的RPU控制总线,传输至RPU阵列中相应的RPU中,以完成对RPU的配置。
桥接控制器根据用于配置桥接模块的配置信息对桥接子模块进行配置。在一个例子中,例如当前A任务需要用到4个RPU进行串行计算,分别为RPU 0——RPU 3。此时A任务执行时RPU需要顺序调用,顺序可以是从RPU 0至RPU 3依次顺序调用。桥接控制器对桥接子模块中相应的通道矩阵进行桥接,如图5a中桥接模块中通道矩阵,其中黑色圆点的相交位置即进行桥接的位置,用于连接处于相交位置的RPU输入通道和RPU输出通道。对于A任务,图5a示出的桥接方式为将第二矩阵输出通道(Output_Array)桥接到RPU 0的输入通道(Input_RPU 0),RPU 0的输出通道(Output_RPU 0)桥接到RPU 1的输入通道(Input_RPU1),RPU 1的输出通道(Output_RPU 1)桥接到RPU 2的输入通道(Input_RPU 2),RPU 2的输出通道(Output_RPU 2)桥接到RPU 3的输入通道(Input_RPU 3),当A任务只需要调用RPU 0至RPU 3的一个循环就可以完成的时候,则将RPU 3的输出通道(Output_RPU 3)桥接到第二矩阵输入通道(Input_Array)即可。但在另一例子中,若当A任务需要调用RPU 0至RPU 3的多个循环才能完成时,则将RPU 3的输出通道(Output_RPU 3)桥接到RPU 0的输入通道(Input_RPU 0)。本领域人员应当注意,此时需要释放第二矩阵输出通道(Output_Array)桥接到RPU 0的输入通道(Input_RPU 0)的桥接,以便完成RPU的循环调用。直至执行完最后一个循环时,释放RPU end的输出通道(Output_RPU end)与其他RPU输入通道(Input_RPU)的桥接,并将RPU end的输出通道(Output_RPU end)桥接到第二矩阵输入通道(Input_Array),用于将计算结果传输给HEC主控系统。其中,RPU end表示最后一个执行完的RPU,可以是RPU 0至RPU 3中的任意一个。
对于B任务,图5a示出的桥接方式为将第二矩阵输出通道(Output_Array)桥接到RPU 4的输入通道(Input_RPU 4),RPU 4的输出通道(Output_RPU 4)桥接到RPU 5的输入通道(Input_RPU 5),RPU 5的输出通道(Output_RPU 5)桥接到RPU 6的输入通道(Input_RPU6),RPU 6的输出通道(Output_RPU 6)桥接到RPU 7的输入通道(Input_RPU 7)。当B任务只需要调用RPU 4至RPU 7的一个循环就可以完成的时候,则将RPU 7的输出通道(Output_RPU7)桥接到第二矩阵输入通道(Input_Array)即可。但在另一例子中,若当B任务需要调用RPU 4至RPU 7的多个循环才能完成时,则将RPU 7的输出通道(Output_RPU 7)桥接到RPU 4的输入通道(Input_RPU 4)。本领域人员应当注意,此时需要释放第二矩阵输出通道(Output_Array)桥接到RPU 4的输入通道(Input_RPU 4)的桥接,以便完成RPU的循环调用。直至执行完最后一个循环时,释放RPU end的输出通道(Output_RPU end)与其他RPU输入通道(Input_RPU)的桥接,并将RPU end的输出通道(Output_RPU end)桥接到第二矩阵输入通道(Input_Array),用于将计算结果传输给HEC主控系统。其中,RPU end表示最后一个执行完的RPU,可以是RPU 0至RPU 7中的任意一个。
本领域人员应当注意,RPU数量是根据实际计算任务需求而定,本发明对应RPU数量并不做具体限定。同时,本领域人员还应当注意,对于不同任务,第二输出通道需要通过分时复用的方式,与不同RPU输入通道进行桥接,以及第二输入通道需要通过分时复用的方式,与不同RPU输出通道进行桥接,从而实现多任务的并行执行。
通过上述桥接模块对RPU阵列的桥接,当需要A任务和B任务并行执行时,用于计算的可重构数据通过数据总线传输至协议控制器,通过协议控制器将A任务和B任务的可重构数据进行协议转换,转换为串行信号。并通过第一组通道的第一矩阵输出通道传输至桥接模块的第二矩阵输出通道。桥接模块便可根据上述的桥接方式,将A任务的串行信号通过桥接从第二矩阵输出通道传输至RPU 0输入通道,以及将B任务的串行信号通过桥接从第二矩阵输出通道传输至RPU 4输入通道。
A任务通过与RPU 0连接的第二组通道中的RPU 0输入通道将串行信号传输至RPU0中进行相应计算。当RPU 0计算完成后,将计算完的数据通过与RPU 0连接的第二组通道中的RPU 0输出通道传输至桥接模块中的RPU 0输出通道。桥接模块再根据上述的桥接方式,将计算完的数据通过RPU 0输出通道传输至RPU 1输入通道,以便数据传输至RPU 1中继续进行计算。重复上述过程直至计算任务完成后,将计算完的数据通过与RPU end连接的第二组通道中的RPU end输出通道传输至桥接模块中的RPU end输出通道。桥接模块根据上述的桥接方式,将计算完的数据通过RPU end输出通道传输至第二矩阵输入通道,并通过第一组通道的第一矩阵输出通道传输至协议控制器。协议控制器将计算完的数据进行协议转换后,传输至HEC主控系统,以完成计算任务。
B任务通过与RPU 4连接的第二组通道中的RPU 4输入通道将串行信号传输至RPU4中进行相应计算。当RPU 4计算完成后,将计算完的数据通过与RPU 4连接的第二组通道中的RPU 4输出通道传输至桥接模块中的RPU 4输出通道。桥接模块再根据上述的桥接方式,将计算完的数据通过RPU 4输出通道传输至RPU 5输入通道,以便数据传输至RPU 5中继续进行计算。重复上述过程直至计算任务完成后,将计算完的数据通过与RPU end连接的第二组通道中的RPU end输出通道传输至桥接模块中的RPU end输出通道。桥接模块根据上述的桥接方式,将计算完的数据通过RPU end输出通道传输至第二矩阵输入通道,并通过第一组通道的第一矩阵输出通道传输至协议控制器。协议控制器将计算完的数据进行协议转换后,传输至HEC主控系统,以完成计算任务。
本领域人员应当注意,在上述任务执行过程中,RPU阵列中用于执行任务的RPU以及桥接模块还会将自身的状态信息通过各自的控制总线反馈至桥接模块的桥接控制器以及HEC主控系统,以便在执行复杂任务时,可以动态调整桥接模块中的桥接通道,以及调整RPU以执行不同的计算任务。
在上述任务执行过程中,控制总线根据需求将每一个循环的配置信息传输至RPU阵列上,桥接模块根据配置信息以及RPU阵列中各个RPU的任务执行的状态信息,动态的控制输入通道与输出通道的桥接,用于RPU根据相应的配置信息以及输入通道传输的数据进行相应计算,并通过输出通道输出计算完的数据和通过相应的控制总线反馈自身的状态信息。
图5b为图5a所示架构的逻辑示意图。
如图5b所述,示出了图5a的逻辑架构图。对于图5a中多任务的并行执行,HEC主控系统可以通过配置总线,配置RPU阵列中不同任务的多个RPU的顺序调用,例如A任务为RPU0至RPU 3依次顺序调用,B任务为RPU 4至RPU 7依次顺序调用。并通过数据总线将A任务与B任务用于计算的可重构数据传输至RPU阵列中相应的RPU中,并进行计算。当计算完成时,再通过数据总线将A任务与B任务计算完的数据传输至HEC主控系统。本领域人员应当注意,在计算过程中,HEC主控系统还会根据桥接模块和RPU阵列中用到的RPU反馈的状态信息,通过配置总线发送新的配置信息,用于动态配置桥接模块中桥接子模块中的桥接和RPU阵列中的RPU。
图6a为本发明实施例提供的另一种执行多任务时的桥接示意图。
如图6a所示,提供了另一种执行多任务时图1所示架构的一种桥接形式。例如,如图6a示出的,与图5a区别在于,图6a中执行的多任务是按照特定的RPU顺序进行调用,而图5a中多任务是按照RPU串行顺序进行调用。与图5a所示的示例相比较,图6a中的桥接控制器对桥接子模块进行的配置可以是,例如A任务需要用到4个RPU进行串行计算,调用顺序为RPU 0、RPU 2、RPU 1、RPU 3;B任务需要用到4个RPU进行串行计算,调用顺序为RPU 6、RPU4、RPU 7、RPU 5。
此时桥接控制器对桥接子模块中相应的通道矩阵进行桥接,如图6a中桥接模块中通道矩阵,其中黑色圆点的相交位置即进行桥接的位置,用于连接处于相交位置的RPU输入通道和RPU输出通道。对于A任务,图6a示出的桥接方式为将第二矩阵输出通道(Output_Array)桥接到RPU 0的输入通道(Input_RPU 0),RPU 0的输出通道(Output_RPU 0)桥接到RPU 2的输入通道(Input_RPU 2),RPU 2的输出通道(Output_RPU 2)桥接到RPU 1的输入通道(Input_RPU 1),RPU 1的输出通道(Output_RPU 1)桥接到RPU 3的输入通道(Input_RPU3),当A任务只需要调用RPU 0、RPU 2、RPU 1、RPU 3的一个循环就可以完成的时候,则将RPU3的输出通道(Output_RPU 3)桥接到第二矩阵输入通道(Input_Array)即可。但在另一例子中,若当A任务需要调用RPU 0、RPU 2、RPU 1、RPU 3的多个循环才能完成时,则将RPU 3的输出通道(Output_RPU 3)桥接到RPU 0的输入通道(Input_RPU 0)。本领域人员应当注意,此时需要释放第二矩阵输出通道(Output_Array)桥接到RPU 0的输入通道(Input_RPU 0)的桥接,以便完成RPU的循环调用。直至执行完最后一个循环时,释放RPU end的输出通道(Output_RPU end)与其他RPU输入通道(Input_RPU)的桥接,并将RPU end的输出通道(Output_RPU end)桥接到第二矩阵输入通道(Input_Array),用于将计算结果传输给HEC主控系统。其中,RPU end表示最后一个执行完的RPU,可以是RPU 0、RPU 2、RPU 1、RPU 3中的任意一个。
对于B任务,图6a示出的桥接方式为将第二矩阵输出通道(Output_Array)桥接到RPU 6的输入通道(Input_RPU 6),RPU 6的输出通道(Output_RPU 6)桥接到RPU 4的输入通道(Input_RPU 4),RPU 4的输出通道(Output_RPU 4)桥接到RPU 7的输入通道(Input_RPU7),RPU 7的输出通道(Output_RPU 7)桥接到RPU 5的输入通道(Input_RPU 5),当B任务只需要调用RPU 6、RPU 4、RPU 7、RPU 5的一个循环就可以完成的时候,则将RPU 5的输出通道(Output_RPU 5)桥接到第二矩阵输入通道(Input_Array)即可。但在另一例子中,若当B任务需要调用RPU 6、RPU 4、RPU 7、RPU 5的多个循环才能完成时,则将RPU 5的输出通道(Output_RPU 5)桥接到RPU 6的输入通道(Input_RPU 6)。本领域人员应当注意,此时需要释放第二矩阵输出通道(Output_Array)桥接到RPU 6的输入通道(Input_RPU 6)的桥接,以便完成RPU的循环调用。直至执行完最后一个循环时,释放RPU end的输出通道(Output_RPUend)与其他RPU输入通道(Input_RPU)的桥接,并将RPU end的输出通道(Output_RPU end)桥接到第二矩阵输入通道(Input_Array),用于将计算结果传输给HEC主控系统。其中,RPUend表示最后一个执行完的RPU,可以是RPU 6、RPU 4、RPU 7、RPU 5中的任意一个。
本领域人员应当注意,RPU数量是根据实际计算任务需求而定,本发明对应RPU数量并不做具体限定。同时,当出现A任务和B任务同时需要调用同一个RPU时,本领域人员还应当注意,对于不同任务,桥接子模块中的所有输入通道、输出通道需要通过分时复用的方式,与不同RPU输入通道、RPU输出通道进行桥接,从而实现多任务的并行执行。
通过上述桥接模块对RPU阵列的桥接,当需要A任务和B任务并行执行时,用于计算的可重构数据通过数据总线传输至协议控制器,通过协议控制器将A任务和B任务的可重构数据进行协议转换,转换为串行信号。并通过第一组通道的第一矩阵输出通道传输至桥接模块的第二矩阵输出通道。桥接模块便可根据上述的桥接方式,将A任务的串行信号通过桥接从第二矩阵输出通道传输至RPU 0输入通道,以及将B任务的串行信号通过桥接从第二矩阵输出通道传输至RPU 6输入通道。
A任务通过与RPU 0连接的第二组通道中的RPU 0输入通道将串行信号传输至RPU0中进行相应计算。当RPU 0计算完成后,将计算完的数据通过与RPU 0连接的第二组通道中的RPU 0输出通道传输至桥接模块中的RPU 0输出通道。桥接模块再根据上述的桥接方式,将计算完的数据通过RPU 0输出通道传输至RPU 2输入通道,以便数据传输至RPU 2中继续进行计算。重复上述过程直至计算任务完成后,将计算完的数据通过与RPU end连接的第二组通道中的RPU end输出通道传输至桥接模块中的RPU end输出通道。桥接模块根据上述的桥接方式,将计算完的数据通过RPU end输出通道传输至第二矩阵输入通道,并通过第一组通道的第一矩阵输出通道传输至协议控制器。协议控制器将计算完的数据进行协议转换后,传输至HEC主控系统,以完成计算任务。
B任务通过与RPU 6连接的第二组通道中的RPU 6输入通道将串行信号传输至RPU6中进行相应计算。当RPU 6计算完成后,将计算完的数据通过与RPU 6连接的第二组通道中的RPU 6输出通道传输至桥接模块中的RPU 6输出通道。桥接模块再根据上述的桥接方式,将计算完的数据通过RPU 6输出通道传输至RPU 4输入通道,以便数据传输至RPU 4中继续进行计算。重复上述过程直至计算任务完成后,将计算完的数据通过与RPU end连接的第二组通道中的RPU end输出通道传输至桥接模块中的RPU end输出通道。桥接模块根据上述的桥接方式,将计算完的数据通过RPU end输出通道传输至第二矩阵输入通道,并通过第一组通道的第一矩阵输出通道传输至协议控制器。协议控制器将计算完的数据进行协议转换后,传输至HEC主控系统,以完成计算任务。
本领域人员应当注意,在上述任务执行过程中,RPU阵列中用于执行任务的RPU以及桥接模块还会将自身的状态信息通过各自的控制总线反馈至桥接模块的桥接控制器以及HEC主控系统,以便在执行复杂任务时,可以动态调整桥接模块中的桥接通道,以及调整RPU以执行不同的计算任务。
在上述任务执行过程中,控制总线根据需求将每一个循环的配置信息传输至RPU阵列上,桥接模块根据配置信息以及RPU阵列中各个RPU的任务执行的状态信息,动态的控制输入通道与输出通道的桥接,用于RPU根据相应的配置信息以及输入通道传输的数据进行相应计算,并通过输出通道输出计算完的数据和通过相应的控制总线反馈自身的状态信息。
图6b为图6a所示架构的逻辑示意图。
如图6b所述,示出了图6a的逻辑架构图。对于图6a中多任务的并行执行,HEC主控系统可以通过配置总线,配置RPU阵列中不同任务的多个RPU按照特定顺序进行调用,例如A任务按照RPU 0、RPU 2、RPU 1、RPU 3的顺序调用,B任务按照RPU 6、RPU 4、RPU 7、RPU 5的顺序调用。并通过数据总线将A任务与B任务用于计算的可重构数据传输至RPU阵列中相应的RPU中,并进行计算。当计算完成时,再通过数据总线将A任务与B任务计算完的数据传输至HEC主控系统。本领域人员应当注意,在计算过程中,HEC主控系统还会根据桥接模块和RPU阵列中用到的RPU反馈的状态信息,通过配置总线发送新的配置信息,用于动态配置桥接模块中桥接子模块中的桥接和RPU阵列中的RPU。
图7a为本发明实施例提供的再一种执行多任务时的桥接示意图。
如图7a所示,提供了再一种执行多任务时图1所示架构的一种桥接形式。如图7a示出的为图5a的一种变形,此时执行的多任务中,不同的任务例如A任务和B任务各自所需调用的RPU数量不同。如图7a中所示,A任务需要调用RPU阵列中的RPU 0——RPU 2;B任务需要调用RPU阵列中的RPU 3——RPU 7。此时仅仅是在桥接模块对桥接子模块配置时,对于不同任务所需要进行桥接的数量不同。其余执行过程均与图5a所示示例相同。为方便描述,在此不再赘述。
图7b为图7a所示架构的逻辑示意图。
如图7b所述,示出了图7a的逻辑架构图。对于图7a中多任务的并行执行,HEC主控系统可以通过配置总线,配置RPU阵列中不同任务的多个RPU的顺序调用,例如A任务为RPU0至RPU 2依次顺序调用,B任务为RPU 3至RPU 7依次顺序调用。并通过数据总线将A任务与B任务用于计算的可重构数据传输至RPU阵列中相应的RPU中,并进行计算。当计算完成时,再通过数据总线将A任务与B任务计算完的数据传输至HEC主控系统。本领域人员应当注意,在计算过程中,HEC主控系统还会根据桥接模块和RPU阵列中用到的RPU反馈的状态信息,通过配置总线发送新的配置信息,用于动态配置桥接模块中桥接子模块中的桥接和RPU阵列中的RPU。
图8a为本发明实施例提供的再一种执行多任务时的桥接示意图。
如图8a所示,提供了再一种执行多任务时图1所示架构的一种桥接形式。例如,如图8a示出的,与图7a区别在于,图8a中执行的多任务是按照特定的RPU顺序进行调用,而图7a中多任务是按照RPU串行顺序进行调用。与图7a所示的示例相比较,图8a中的桥接控制器对桥接子模块进行的配置可以是,例如A任务需要用到3个RPU进行串行计算,调用顺序为RPU 1、RPU 0、RPU 2;B任务需要用到5个RPU进行串行计算,调用顺序为RPU 5、RPU 7、RPU3、RPU 6、RPU 4。
此时桥接控制器对桥接子模块中相应的通道矩阵进行桥接,如图8a中桥接模块中通道矩阵,其中黑色圆点的相交位置即进行桥接的位置,用于连接处于相交位置的RPU输入通道和RPU输出通道。对于A任务,图8a示出的桥接方式为将第二矩阵输出通道(Output_Array)桥接到RPU 1的输入通道(Input_RPU 1),RPU 1的输出通道(Output_RPU 1)桥接到RPU 0的输入通道(Input_RPU 0),RPU 0的输出通道(Output_RPU 0)桥接到RPU 2的输入通道(Input_RPU 2),当A任务只需要调用RPU 1、RPU 0、RPU 2的一个循环就可以完成的时候,则将RPU 2的输出通道(Output_RPU 2)桥接到第二矩阵输入通道(Input_Array)即可。但在另一例子中,若当A任务需要调用RPU 1、RPU 0、RPU 2的多个循环才能完成时,则将RPU 2的输出通道(Output_RPU 2)桥接到RPU 1的输入通道(Input_RPU 1)。本领域人员应当注意,此时需要释放第二矩阵输出通道(Output_Array)桥接到RPU 1的输入通道(Input_RPU 1)的桥接,以便完成RPU的循环调用。直至执行完最后一个循环时,释放RPU end的输出通道(Output_RPU end)与其他RPU输入通道(Input_RPU)的桥接,并将RPU end的输出通道(Output_RPU end)桥接到第二矩阵输入通道(Input_Array),用于将计算结果传输给HEC主控系统。其中,RPU end表示最后一个执行完的RPU,可以是RPU 1、RPU 0、RPU 2中的任意一个。
对于B任务,图8a示出的桥接方式为将第二矩阵输出通道(Output_Array)桥接到RPU 5的输入通道(Input_RPU 5),RPU 5的输出通道(Output_RPU 5)桥接到RPU 7的输入通道(Input_RPU 7),RPU 7的输出通道(Output_RPU 7)桥接到RPU 3的输入通道(Input_RPU3),RPU 3的输出通道(Output_RPU 3)桥接到RPU 6的输入通道(Input_RPU 6),RPU 6的输出通道(Output_RPU 6)桥接到RPU 4的输入通道(Input_RPU 4),当B任务只需要调用RPU5、RPU 7、RPU 3、RPU 6、RPU 4的一个循环就可以完成的时候,则将RPU 4的输出通道(Output_RPU 4)桥接到第二矩阵输入通道(Input_Array)即可。但在另一例子中,若当B任务需要调用RPU 5、RPU 7、RPU 3、RPU 6、RPU 4的多个循环才能完成时,则将RPU 4的输出通道(Output_RPU 4)桥接到RPU 5的输入通道(Input_RPU 5)。本领域人员应当注意,此时需要释放第二矩阵输出通道(Output_Array)桥接到RPU 5的输入通道(Input_RPU 5)的桥接,以便完成RPU的循环调用。直至执行完最后一个循环时,释放RPU end的输出通道(Output_RPU end)与其他RPU输入通道(Input_RPU)的桥接,并将RPU end的输出通道(Output_RPUend)桥接到第二矩阵输入通道(Input_Array),用于将计算结果传输给HEC主控系统。其中,RPU end表示最后一个执行完的RPU,可以是RPU 5、RPU 7、RPU 3、RPU 6、RPU 4中的任意一个。
本领域人员应当注意,RPU数量是根据实际计算任务需求而定,本发明对应RPU数量并不做具体限定。同时,当出现A任务和B任务同时需要调用同一个RPU时,本领域人员还应当注意,对于不同任务,桥接子模块中的所有输入通道、输出通道需要通过分时复用的方式,与不同RPU输入通道、RPU输出通道进行桥接,从而实现多任务的并行执行。
通过上述桥接模块对RPU阵列的桥接,当需要A任务和B任务并行执行时,用于计算的可重构数据通过数据总线传输至协议控制器,通过协议控制器将A任务和B任务的可重构数据进行协议转换,转换为串行信号。并通过第一组通道的第一矩阵输出通道传输至桥接模块的第二矩阵输出通道。桥接模块便可根据上述的桥接方式,将A任务的串行信号通过桥接从第二矩阵输出通道传输至RPU 1输入通道,以及将B任务的串行信号通过桥接从第二矩阵输出通道传输至RPU 5输入通道。
A任务通过与RPU 1连接的第二组通道中的RPU 1输入通道将串行信号传输至RPU1中进行相应计算。当RPU 1计算完成后,将计算完的数据通过与RPU 1连接的第二组通道中的RPU 1输出通道传输至桥接模块中的RPU 1输出通道。桥接模块再根据上述的桥接方式,将计算完的数据通过RPU 1输出通道传输至RPU 0输入通道,以便数据传输至RPU 0中继续进行计算。重复上述过程直至计算任务完成后,将计算完的数据通过与RPU end连接的第二组通道中的RPU end输出通道传输至桥接模块中的RPU end输出通道。桥接模块根据上述的桥接方式,将计算完的数据通过RPU end输出通道传输至第二矩阵输入通道,并通过第一组通道的第一矩阵输出通道传输至协议控制器。协议控制器将计算完的数据进行协议转换后,传输至HEC主控系统,以完成计算任务。
B任务通过与RPU 5连接的第二组通道中的RPU 5输入通道将串行信号传输至RPU5中进行相应计算。当RPU 5计算完成后,将计算完的数据通过与RPU 5连接的第二组通道中的RPU 5输出通道传输至桥接模块中的RPU 5输出通道。桥接模块再根据上述的桥接方式,将计算完的数据通过RPU 5输出通道传输至RPU 7输入通道,以便数据传输至RPU 7中继续进行计算。重复上述过程直至计算任务完成后,将计算完的数据通过与RPU end连接的第二组通道中的RPU end输出通道传输至桥接模块中的RPU end输出通道。桥接模块根据上述的桥接方式,将计算完的数据通过RPU end输出通道传输至第二矩阵输入通道,并通过第一组通道的第一矩阵输出通道传输至协议控制器。协议控制器将计算完的数据进行协议转换后,传输至HEC主控系统,以完成计算任务。
本领域人员应当注意,在上述任务执行过程中,RPU阵列中用于执行任务的RPU以及桥接模块还会将自身的状态信息通过各自的控制总线反馈至桥接模块的桥接控制器以及HEC主控系统,以便在执行复杂任务时,可以动态调整桥接模块中的桥接通道,以及调整RPU以执行不同的计算任务。
在上述任务执行过程中,控制总线根据需求将每一个循环的配置信息传输至RPU阵列上,桥接模块根据配置信息以及RPU阵列中各个RPU的任务执行的状态信息,动态的控制输入通道与输出通道的桥接,用于RPU根据相应的配置信息以及输入通道传输的数据进行相应计算,并通过输出通道输出计算完的数据和通过相应的控制总线反馈自身的状态信息。
图8b为图8a所示架构的逻辑示意图。
如图8b所述,示出了图8a的逻辑架构图。对于图8a中多任务的并行执行,HEC主控系统可以通过配置总线,配置RPU阵列中不同任务的多个RPU按照特定顺序进行调用,例如A任务按照RPU 1、RPU 0、RPU 2的顺序调用,B任务按照RPU 5、RPU 7、RPU 3、RPU 6、RPU 4的顺序调用。并通过数据总线将A任务与B任务用于计算的可重构数据传输至RPU阵列中相应的RPU中,并进行计算。当计算完成时,再通过数据总线将A任务与B任务计算完的数据传输至HEC主控系统。本领域人员应当注意,在计算过程中,HEC主控系统还会根据桥接模块和RPU阵列中用到的RPU反馈的状态信息,通过配置总线发送新的配置信息,用于动态配置桥接模块中桥接子模块中的桥接和RPU阵列中的RPU。
本领域人员应当注意,上述图2a至图8b中的任务仅仅是一种可行的实施方式,并不局限于上述任务调用的RPU、RPU的数量以及调用RPU的顺序。任何等效的替换均包含在本发明的保护范围内。
在一个例子中,本发明还提供了一种基于可重构计算的高性能弹性连接方法,包括:接收主控系统发送的第一配置信息;第一配置信息包括第一桥接模块配置信息和第一RPU阵列配置信息。对第一配置信息进行协议转换。根据转换后的第一桥接模块配置信息桥接可重构计算单元PRU阵列中不同的PRU,并根据转换后的第一RPU阵列配置信息配置RPU阵列。接收主控系统发送的数据信息,并根据桥接好的顺序发送至PRU阵列中不同的PRU中执行不同计算任务。
通过本发明提供的一种基于可重构计算的高性能弹性连接架构和方法,实现了通过协议控制器、桥接模块和高性能弹性连接通道将HEC主控系统和RPU之间,以及多个RPU之间进行桥接。解决了HEC主控系统和RPU之间,以及多个RPU之间高速高可靠通信的问题。同时HEC主控系统可以根据算力需求对多个RPU进行弹性部署,可灵活执行不同计算任务。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于可重构计算的高性能弹性连接架构,其特征在于,包括:协议控制器、桥接模块和高性能弹性连接通道;
所述协议控制器通过配置总线、数据总线与主控系统进行通信;
所述桥接模块通过所述高性能弹性连接通道与所述协议控制器以及可重构计算单元RPU阵列相连接;
所述协议控制器通过配置总线接收主控系统发送的第一配置信息,对所述第一配置信息进行协议转换,并通过所述高性能弹性连接通道发送给所述桥接模块;所述第一配置信息包括第一桥接模块配置信息和第一RPU阵列配置信息;
所述桥接模块根据协议转换后的所述第一桥接模块配置信息,将所述PRU阵列中不同PRU按照配置顺序进行桥接;以及
所述桥接模块根据协议转换后的第一RPU阵列配置信息,通过所述高性能弹性连接通道将所述第一RPU阵列配置信息传输至所述RPU阵列,以便所述RPU阵列按照所述第一RPU阵列配置信息进行配置,执行不同计算任务。
2.根据权利要求1所述的架构,其特征在于,所述协议控制器通过配置总线、数据总线与主控系统进行通信包括:
所述协议控制器通过所述数据总线接收所述主控系统发送的待处理数据;
所述协议控制器通过所述配置总线,接收所述主控系统发送的第一配置信息;以及
所述协议控制器通过所述配置总线向所述主控系统发送状态信息;其中,所述状态信息包括所述桥接模块的状态信息和所述PRU阵列的状态信息。
3.根据权利要求1或2任一所述的架构,其特征在于,所述架构还包括多层总线,所述多层总线与所述协议控制器相连;
所述配置总线用于发送第二配置信息,所述第二配置信息用于对单独的RPU进行配置;
所述多层总线用于发送第三配置信息,所述第三配置信息用于对所述RPU阵列中多个不同的RPU之间进行配置,使得所述RPU阵列中多个不同的RPU按照预定的配置顺序进行计算。
4.根据权利要求1所述的架构,其特征在于,所述高性能弹性连接通道包括第一组通道和至少一个第二组通道;
所述第一组通道包括:第一矩阵输入通道、第一矩阵输出通道和第一控制总线;所述第一组通道用于所述协议控制器与所述桥接模块之间进行通信;
所述第二组通道包括:RPU输入通道、RPU输出通道和RPU控制总线;所述至少一个第二组通道用于所述桥接模块与所述RPU阵列中的至少一个RPU之间进行通信。
5.根据权利要求1所述的架构,其特征在于,所述桥接模块包括:桥接子模块、第二控制总线和桥接控制器;
所述桥接子模块为一个(N+1)*(N+1)的通道矩阵,其中N为所述RPU阵列中RPU的个数;其中,所述(N+1)*(N+1)的通道矩阵包括N+1条输入通道和N+1条输出通道,所述N+1条输入通道包括1条第二矩阵输入通道和N条RPU输入通道,所述N+1条输出通道包括1条第二矩阵输出通道和N条RPU输出通道;
所述第二矩阵输入通道与所述高性能弹性连接通道连接,用于所述桥接子模块将数据传输给所述协议控制器;
所述第二矩阵输出通道与所述高性能弹性连接通道连接,用于所述桥接子模块接收所述协议控制器发送的数据;
所述第二控制总线与所述高性能弹性连接通道连接,用于与所述协议控制器和所述RPU阵列通信;
所述桥接控制器与所述第二控制总线相连接,用于控制所述桥接子模块中第X条输入通道和第Y条输出通道之间进行桥接,并且控制任意一条输入通道在同一时刻不与两条及更多输出通道进行桥接,和控制任意一条输出通道在同一时刻不与两条及更多输入通道进行桥接;其中,0<X≠Y≤N+1,X和Y为正整数。
6.根据权利要求5所述的架构,其特征在于,所述桥接控制器将所述第二矩阵输入通道与所述N条RPU输出通道中的一条进行桥接,用于所述主控系统与所述RPU阵列中的一个RPU进行通信;或
将所述第二矩阵输出通道与所述N条RPU输入通道中的一条进行桥接,用于所述主控系统与所述RPU阵列中的一个RPU进行通信;或
将所述第二矩阵输入通道与所述N条RPU输出通道中的一条进行桥接,同时将所述第二矩阵输出通道与所述N条RPU输入通道中的一条进行桥接,用于所述主控系统与所述RPU阵列中的一个RPU进行通信。
7.根据权利要求5所述的架构,其特征在于,所述RPU阵列包括发送端RPU和接收端RPU,
所述发送端RPU和所述接收端RPU经过发送端RPU的RPU控制总线、接收端RPU的RPU控制总线以及所述第二控制总线进行握手;
所述桥接控制器在所述发送端RPU和所述接收端RPU握手后,控制所述发送端RPU对应的RPU输出通道与所述接收端RPU的RPU输入通道进行桥接;
所述桥接控制器还用于将数据传输的控制权转移给所述接收端RPU内的直接内存存取DMA控制器。
8.根据权利要求5所述的架构,其特征在于,所述RPU阵列包括多个RPU,所述多个RPU按照顺序进行串联通信;
所述第二控制总线接收所述协议控制器发送的配置流信息;所述配置流信息用于指示多个RPU对应的输入通道和输出通道顺序进行桥接;其中,第一个RPU对应的输入通道与所述第二矩阵输出通道进行桥接;以及,所述顺序进行桥接为前一个RPU对应的输出通道与后一个RPU对应的输入通道进行桥接;
所述配置流信息还用于指示任务执行完毕的RPU对应的输出通道与所述第二矩阵输入通道进行桥接;
其中,所述RPU阵列中的任意一个RPU对应的输入通道在同一时刻,不会接收其他任意两个RPU对应的输出通道传来的数据;或
所述RPU阵列中的任意一个RPU对应的输入通道在同一时刻,不会接收其他任意一个RPU对应的输出通道和第二矩阵输出通道传来的数据;或
所述RPU阵列中的任意一个RPU对应的输出通道在同一时刻,不会发送数据给其他任意两个RPU对应的输入通道;或
所述RPU阵列中的任意一个RPU对应的输出通道在同一时刻,不会发送数据给其他任意一个RPU对应的输入通道和第二矩阵输入通道;
所述桥接控制器还用于分时复用所述RPU阵列中的任意一个RPU对应的输入通道和输出通道,用于该RPU与其他任意两个RPU进行数据通信,或该RPU与所述主控系统和其他任意一个或以上RPU进行通信。
9.根据权利要求5-8任一所述的架构,其特征在于,在所述通信结束后释放所述桥接,以及接收端RPU内的直接内存存取DMA控制器释放数据传输控制权。
10.一种基于可重构计算的高性能弹性连接方法,其特征在于,包括:
接收主控系统发送的第一配置信息;所述第一配置信息包括第一桥接模块配置信息和第一RPU阵列配置信息;
对所述第一配置信息进行协议转换;
根据转换后的第一桥接模块配置信息桥接可重构计算单元PRU阵列中不同的PRU;并根据转换后的第一RPU阵列配置信息配置所述RPU阵列;
接收主控系统发送的数据信息,并根据桥接好的顺序发送至所述PRU阵列中不同的PRU中执行不同计算任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910350931.7A CN110059038A (zh) | 2019-04-28 | 2019-04-28 | 一种基于可重构计算的高性能弹性连接架构及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910350931.7A CN110059038A (zh) | 2019-04-28 | 2019-04-28 | 一种基于可重构计算的高性能弹性连接架构及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110059038A true CN110059038A (zh) | 2019-07-26 |
Family
ID=67321355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910350931.7A Pending CN110059038A (zh) | 2019-04-28 | 2019-04-28 | 一种基于可重构计算的高性能弹性连接架构及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110059038A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1776662A (zh) * | 2005-12-02 | 2006-05-24 | 浙江大学 | 一种面向计算的通用型可重构计算阵列 |
CN102541809A (zh) * | 2011-12-08 | 2012-07-04 | 清华大学 | 一种动态可重构处理器 |
CN103247019A (zh) * | 2013-04-17 | 2013-08-14 | 清华大学 | 用于物体检测的基于AdaBoost算法的可重构装置 |
CN106294278A (zh) * | 2016-08-01 | 2017-01-04 | 东南大学 | 用于动态可重构阵列计算系统的自适硬件预配置控制器 |
CN107783935A (zh) * | 2017-09-26 | 2018-03-09 | 东南大学 | 基于动态精度可配运算的近似计算可重构阵列 |
CN108153709A (zh) * | 2017-12-12 | 2018-06-12 | 中国人民解放军战略支援部队信息工程大学 | 一种任意点数fft的可重构计算结构的调度方法 |
US20180253642A1 (en) * | 2017-03-01 | 2018-09-06 | International Business Machines Corporation | Resistive processing unit with hysteretic updates for neural network training |
-
2019
- 2019-04-28 CN CN201910350931.7A patent/CN110059038A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1776662A (zh) * | 2005-12-02 | 2006-05-24 | 浙江大学 | 一种面向计算的通用型可重构计算阵列 |
CN102541809A (zh) * | 2011-12-08 | 2012-07-04 | 清华大学 | 一种动态可重构处理器 |
CN103247019A (zh) * | 2013-04-17 | 2013-08-14 | 清华大学 | 用于物体检测的基于AdaBoost算法的可重构装置 |
CN106294278A (zh) * | 2016-08-01 | 2017-01-04 | 东南大学 | 用于动态可重构阵列计算系统的自适硬件预配置控制器 |
US20180253642A1 (en) * | 2017-03-01 | 2018-09-06 | International Business Machines Corporation | Resistive processing unit with hysteretic updates for neural network training |
CN107783935A (zh) * | 2017-09-26 | 2018-03-09 | 东南大学 | 基于动态精度可配运算的近似计算可重构阵列 |
CN108153709A (zh) * | 2017-12-12 | 2018-06-12 | 中国人民解放军战略支援部队信息工程大学 | 一种任意点数fft的可重构计算结构的调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7675919B2 (en) | End system scheduling for switched networks | |
US5949762A (en) | Apparatus and method for processing multiple telephone calls | |
EP3575972B1 (en) | Inter-processor communication method for access latency between system-in-package (sip) dies | |
CN110990140B (zh) | 一种光电交换网络中分布式机器学习流的调度方法 | |
KR100569750B1 (ko) | 재구성가능 프로세서를 위한 방법 및 장치 | |
CN104866460B (zh) | 一种基于SoC的容错自适应可重构系统与方法 | |
JP2014021887A (ja) | Ioユニットと通信を行う数値制御装置 | |
CN107179763A (zh) | 一种利用udp协议传输实现卫星控制系统单机故障的模拟方法 | |
US20050086412A1 (en) | System and method for communicating between modules | |
CN114647602A (zh) | 一种跨芯片访问控制的方法、装置、设备及介质 | |
CN107436851A (zh) | 串行外设接口四线隔离系统及其控制方法 | |
CN110059038A (zh) | 一种基于可重构计算的高性能弹性连接架构及方法 | |
CN105245454B (zh) | 交换系统的流量转发方法和装置 | |
GB2359162A (en) | Parallel processor system | |
CN105550157B (zh) | 一种分形树结构通信结构、方法、控制装置及智能芯片 | |
CN104156332B (zh) | 基于外部pci‑e连接的高性能并行计算方法 | |
CN109617801A (zh) | 一种大力矩飞轮双路冗余can总线可靠通信方法和装置 | |
CN110737627B (zh) | 一种数据处理方法、装置及存储介质 | |
CN110687854B (zh) | 一种pa总线控制器以及一种pa总线控制系统 | |
CN208819202U (zh) | 一种嵌入式多类型接口数据分发系统 | |
CN105488010A (zh) | 一种背板实时同步接口协议 | |
CN108804362A (zh) | 串口批量数据传输方法、装置及存储介质 | |
CA2327484C (en) | Method and apparatus for coupling an atm communication layer to a plurality of time-division multiplex communication terminals | |
SU840867A1 (ru) | Устройство дл сопр жени вычислительныхМАшиН | |
TR2021004235A1 (tr) | Seri̇ haberleşmede gerçek zaman yöneti̇mi̇ |
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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20210817 |
|
AD01 | Patent right deemed abandoned |