CN113312283A - 一种基于fpga加速的异构图学习系统 - Google Patents

一种基于fpga加速的异构图学习系统 Download PDF

Info

Publication number
CN113312283A
CN113312283A CN202110589828.5A CN202110589828A CN113312283A CN 113312283 A CN113312283 A CN 113312283A CN 202110589828 A CN202110589828 A CN 202110589828A CN 113312283 A CN113312283 A CN 113312283A
Authority
CN
China
Prior art keywords
data
fpga
memory
node
storage area
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
Application number
CN202110589828.5A
Other languages
English (en)
Other versions
CN113312283B (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.)
Beihang University
Original Assignee
Beihang 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 Beihang University filed Critical Beihang University
Priority to CN202110589828.5A priority Critical patent/CN113312283B/zh
Publication of CN113312283A publication Critical patent/CN113312283A/zh
Application granted granted Critical
Publication of CN113312283B publication Critical patent/CN113312283B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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 Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明通过信息技术领域的方法,实现了一种基于FPGA加速的异构图学习系统。由硬件部分和软件部分组成,硬件部分由通用服务器、FPGA板卡、GPU构成,FPGA和GPU连接在通用服务器CPU引出的PCIe接口上,FPGA板卡由FPGA芯片、内存芯片、网络接口、PCIe接口、辅助电路构成;FPGA芯片内部结构进行结构性改进;软件部分由用户态软件,内核驱动和GPU软件构成,所述用户态软件用用户接口,预处理器,运行时引擎三部分,通过预处理器将图数据从硬盘加载到内存中,运行时引擎调度用户接口提供的算法实现算法在硬件上的运行实现整个系统高效在图数据集上运行包括图神经网络在内的算法的功能。

Description

一种基于FPGA加速的异构图学习系统
技术领域
本发明涉及信息技术领域,尤其涉及一种基于FPGA加速的异构图学习系统。
背景技术
许多真实世界中的对象可被抽象为图数据,基于图的传统算法被广泛应用于解决社交网络,金融,文本搜索领域的问题。近几年内,人们将人工智能领域的方法和图数据结合发展出图神经网络算法,使图算法能够处理的问题更加多样。
在大规模数据上运行图算法存在的挑战之一是计算效率。现代计算机使用的通用处理器擅长处理有空间局部性的数据,因为这样可以使访问内存的效率最大化。图数据并不能被存储在一块连续的存储器中,这个特性可能使现代处理器上基于空间局部性设计的优化方法失效,导致计算效率降低。除此之外,图神经网络的出现带来新的问题。目前的神经网络算法依赖大量的矩阵运算,而通用处理器不擅长处理这种计算。
发明内容
为此,本发明首先提出一种基于FPGA加速的异构图学习系统,由硬件部分和软件部分组成;
所述硬件部分由通用服务器、FPGA板卡、GPU构成,其中,FPGA和GPU连接在通用服务器CPU引出的PCIe接口上,二者通过一个CPU内部的电路或PCIe Switch芯片相互发送PCIe TLP报文,并在PCIe总线上发送报文直接访问连接在CPU上的内存;所述FPGA板卡由FPGA芯片、内存芯片、网络接口、PCIe接口、辅助电路构成;所述FPGA芯片内部结构进行结构性改进;
所述软件部分由用户态软件,内核驱动和GPU软件构成,所述用户态软件分为用户接口,预处理器,运行时引擎三部分,图数据分为属性数据和结构数据,通过所述预处理器将图数据从硬盘加载到内存中,并把一部分图属性和全部的图结构按照选择逻辑从CPU内存复制到FPGA内存中;通过所述运行时引擎以用户接口暴露的计算能力和为满足计算需求而插入的数据转换的算子为最小单位,调度用户接口提供的算法实现算法在硬件上的运行;所述内核驱动提供用户态软件和硬件交互的能力。
所述结构性改进为:FPGA芯片内部的硬件结构由PCIe接口,网络接口,内存管理,核心硬件构成,PCIe接口处理PCIe数据连接层协议,提供DMA队列并实现通过TLP协议访问CPU内存;PCIe接口实现了P2P功能,即可以通过发送特殊构造的TLP实现和其他PCIe设备的直接通信;网络接口实现数据链路层的介质控制访问协议,网络层的IP协议和部分TCP协议;内存管理实现对外部内存芯片进行读写的控制逻辑;核心硬件部分运行本发明的主要逻辑;所述核心硬件部分设置由用户态软件构造并通过PCIe发送的,包括参数设置,数据加载,数据转换,远程数据发送的Doorbell指令,所述参数设置能够修改FPGA内存管理的相关参数,所述数据加载将驱动FPGA从CPU内存中加载数据到本地主存中,所述数据转换驱动FPGA从本地内存中读取数据并将数据通过PCIe发送到GPU中,所述远程数据发送驱动FPGA从本地内存中读取数据并通过网络接口发送到远程的主机中,FPGA本地内存中的数据存储由用户态软件确定。
所述用户接口包括用户自定义函数和可调用的算子,用户自定义函数分为Scatter,Gather,Aggregator三种类型;所述Gather类型函数作用于图中的一个节点a,输入为a的属性,a的所有边及边的属性,a的所有邻居及邻居的属性;所述Scatter用来更新边和节点的数据;所述Aggregator用于从某个节点的邻边和邻居节点中获取数据。
所述图数据从硬盘加载到内存中的具体方法为:内存分为结构存储区和属性存储区,图数据拓扑结构被存储在结构存储区内,结构存储区被分为两块,分别以节点和边为索引数据,使用节点ID进行寻址可以获得节点拓扑缓存的地址;所述节点拓扑缓存内存储对应节点所有的邻边和邻居节点ID,对于幂律分布图中的稠密节点,其节点拓扑缓存扩展到结构存储区的尾部,预处理器依据度数对结构存储区中的不同节点进行排序,边结构存储区的存储方式和节点结构存储区的存储方式类似,以边ID为索引存储端节点ID;
图数据的节点和边属性存储在属性存储区并通过节点度数调度存储以提高性能。节点度数指图数据结构中给定节点的邻居个数。图数据的节点和边属性存储时,使用节点或边的ID进行索引可以获得属性存储区内的一块节点属性存储区的首地址,一块节点属性存储区内包含该区域的元信息以及序列化存储的节点属性数据;存储时以节点度数为依据,将可能被连续访问的若干边存储在一块连续的地址空间内。预处理器在加载属性数据时参考结构数据中的顺序以实现对图属性数据的连续访问,考虑操作系统内存页面的大小,使用贪心方法将图属性数据放置在连续的页面中,并根据通用处理器的内存通道数量将图属性数据均匀分为相应块数。
所述选择逻辑是:从度数较低的节点开始选择需要同步的节点,直到小节点能够充分利用FPGA内存为止,对于每个属性存储区都执行类似的操作,并将选择出来的节点同步到FPGA板卡上通道独立的内存区域中。
所述节点拓扑缓存的大小由用户手动指定或由预处理器自动选择,预处理器根据图数据中的节点平均度数来选择节点拓扑缓存的大小。
所述元信息包括起始与结束地址,大小,数据结构。
所述均匀定义为任意不同两块属性存储区间的互联数总和能够达到最小,所述属性存储区间的互联数定义为两块属性存储区内拥有指向另一属性存储区内节点的边的节点总和,所述预处理器使用启发式的算法进行计算。
所述调度的方法为:将用户算法抽象成一个有向无环图,其中节点表示算子,边表示数据的流动,将矩阵计算、卷积计算放置在GPU上进行,将简单的标量乘加运算放置在FPGA上进行,在执行矩阵乘法运算时,根据预处理器的结果,选择使用CPU进行数据转换或使用FPGA进行数据转换,使用CPU进行数据转换时,CPU根据上下文从结构存储区和属性存储区内获取数据,转换为GPU算子需要的格式后调用驱动发送;使用FPGA进行数据转换时,CPU通过驱动发送Doorbell信号,FPGA根据Doorbell信号中提供的上下文直进行数据转换,将每个算子分割成更小的单元以方便被调度,并提供同步机制。
本发明所要实现的技术效果在于:
本发明实现了一个使用多种计算硬件的图学习系统,可以高效的在图数据集上运行包括图神经网络在内的算法。
附图说明
图1系统整体架构
图2数据通路架构
具体实施方式
以下是本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于此实施例。
本发明提出了一种基于FPGA加速的异构图学习系统,由硬件部分和软件部分组成。系统整体架构如图1系统整体架构所示。图1中,本发明使用NeoGL标签标识。本发明有相应接口和深度学习框架(DL Framework)交互。本发明系统内部分为三层,分别是计算层(标签为Computation),图操作层(标签为Graph Operation)和图存储层(标签为GraphStorage)。计算层用户接口包括用户自定义函数和可调用的算子。可调用的算子由图操作层提供,包括采样(标签为Sample),聚合(标签为Aggregation)和图数据访问。图存储层在FPGA硬件结构中实现。图2显示了通用计算机系统和本发明交互的方式。通用计算机系统通过PCIE总线和本发明中的硬件部分交互。硬件部分包括Shell和SE两个模块,其中Shell负责总线协议的转换;SE将缓存软件系统产生的Doorbell信号并在恰当的时机执行其中封装的数据操作。
硬件方案
硬件部分由通用服务器、FPGA板卡与其内部电路、GPU构成。FPGA和GPU连接在通用服务器CPU引出的PCIe接口上;二者可以通过一个CPU内部的电路或PCIe Switch芯片相互发送PCIe TLP报文;二者可以在PCIe总线上发送报文直接访问连接在CPU上的内存。硬件系统数据通路如图1数据通路架构所示FPGA板卡由FPGA芯片、内存芯片、网络接口、PCIe接口、辅助电路构成。FPGA芯片内部被配置成本发明设计的结构。内存芯片被分为8组和FPGA芯片直接连接,每一组可以独立的寻址与读写。网络接口的物理规格是QSFP28;被连接到FPGA具有SerDes功能的IO引脚上。PCIe接口符合PCIe X16标准板卡规范;连接到FPGA的通用IO引脚上。
FPGA内部的硬件结构由PCIe接口,网络接口,内存管理,核心硬件构成。PCIe接口处理PCIe数据连接层协议,提供DMA队列并实现通过TLP协议访问CPU内存。PCIe接口实现了P2P功能,即可以通过发送特殊构造的TLP实现和其他PCIe设备的直接通信。网络接口实现数据链路层的介质控制访问协议,网络层的IP协议和部分TCP协议。内存管理实现对外部内存芯片进行读写的控制逻辑。核心硬件部分运行本发明的主要逻辑。
本发明的核心逻辑可被看作一种简单的专用处理器。核心硬件可以根据一小段指令来执行内存的读写操作。这段指令被称作doorbell,由用户态软件构造并通过PCIe发送。Doorbell包括参数设置,数据加载,数据转换,远程数据发送。参数设置doorbell能够修改FPGA内存管理的相关参数。数据加载doorbell将驱动FPGA从CPU内存中加载数据到本地主存中。数据转换Doorbell将驱动FPGA从本地内存中读取数据并将数据通过PCIe发送到GPU中;远程数据发送Doorbell将驱动FPGA从本地内存中读取数据并通过网络接口发送到远程的主机中。FPGA本地内存中的数据存储由用户态软件确定。
软件方案
软件部分由用户态软件,内核驱动和GPU软件构成。
用户态软件分为用户接口,预处理器,运行时引擎。用户接口包括用户自定义函数和可调用的算子。用户自定义函数有Scatter,Gather,Aggregator三种类型。Gather函数作用于图中的一个节点a;输入为a的属性,a的所有边及边的属性,a的所有邻居及邻居的属性。Scatter用来更新边和节点的数据。Aggregator用于从某个节点的邻边和邻居节点中获取数据。
预处理器将图数据从硬盘加载到内存中。内存被分为结构存储区和属性存储区。图数据拓扑结构被存储在结构存储区内。结构存储区被分为两块,分别以节点和边为索引数据。使用节点ID进行寻址可以获得节点拓扑缓存的地址;节点拓扑缓存内存储对应节点所有的邻边和邻居节点ID。对于幂律分布图中的稠密节点,其节点拓扑缓存可以扩展到结构存储区的尾部。节点拓扑缓存的大小可以由用户手动指定,也可以由预处理器自动选择。预处理器默认会根据图数据中的节点平均度数来选择节点拓扑缓存的大小。预处理器会依据度数对结构存储区中的不同节点进行排序,以实现一次连续的内存访问能够尽可能多的访问更多的图结构数据。边结构存储区的存储方式和节点结构存储区的存储方式类似。
图数据中节点和边的属性存储在属性存储区。使用节点或边的ID进行索引可以获得属性存储区内的一块节点属性存储区的首地址。一块节点属性存储区内包含该区域的起始与结束地址,大小,数据结构等元信息以及序列化存储的节点属性数据。边属性的存储和节点属性的存储类似。预处理器在加载属性数据时会参考结构数据中的顺序以实现对图属性数据的连续访问。预处理器还会考虑操作系统内存页面的大小,使用贪心方法将图属性数据放置在连续的页面中,避免页表未命中导致的性能下降。假如通用处理器的内存通道数量为N,预处理器会将图属性数据尽可能均匀的分为N块。此处的均匀指任意不同两块属性存储区间的互联数总和能够达到最小。属性存储区间的互联数定义为两块属性存储区内拥有指向另一属性存储区内节点的边的节点总和。预处理器将使用启发式的算法完成这一过程。
预处理器将把一部分图属性和全部的图结构从CPU内存复制到FPGA内存中。预处理器的选择逻辑是,从度数较低的节点开始选择需要同步的节点,直到小节点能够充分利用FPGA内存为止。预处理器对于每个属性存储区都执行类似的操作,并将选择出来的节点同步到FPGA板卡上通道独立的内存区域中。
运行时引擎负责调度用户通过用户接口提供的算法。引擎调度的最小单位是算子。用户算法将被抽象成一个有向无环图,其中节点表示算子,边表示数据的流动。算子包括用户接口暴露的计算能力和为满足计算需求而插入的数据转换算子。数据转换指将某设备内存中的某块区域中以特定的格式存储在某设备中的某区域。引擎会将矩阵计算、卷积计算放置在GPU上进行,将简单的标量乘加运算放置在FPGA上进行。在执行矩阵乘法运算时,引擎将根据预处理结果,选择使用CPU进行数据转换或使用FPGA进行数据转换。当使用CPU进行数据转换时,CPU将根据上下文从结构存储区和属性存储区内获取数据,转换为GPU算子需要的格式后调用驱动发送;当使用FPGA进行数据转换时,CPU通过驱动发送Doorbell信号,FPGA将根据Doorbell信号中提供的上下文直进行数据转换。每个算子都会被分割成更小的单元以方便被调度。运行时引擎提供同步机制,可以保证只有当所有的算子都完成计算后才进入到下一次迭代。
驱动提供用户态软件和硬件交互的能力。

Claims (9)

1.一种基于FPGA加速的异构图学习系统,其特征在于:由硬件部分和软件部分组成;
所述硬件部分由通用服务器、FPGA板卡、GPU构成,其中,FPGA和GPU连接在通用服务器CPU引出的PCIe接口上,二者通过一个CPU内部的电路或PCIe Switch芯片相互发送PCIeTLP报文,并在PCIe总线上发送报文直接访问连接在CPU上的内存;所述FPGA板卡由FPGA芯片、内存芯片、网络接口、PCIe接口、辅助电路构成;所述FPGA芯片内部结构进行结构性改进;
所述软件部分由用户态软件,内核驱动和GPU软件构成,所述用户态软件分为用户接口,预处理器,运行时引擎三部分,将数据分为属性数据和结构数据,通过所述预处理器将图数据从硬盘加载到内存中,并把一部分图属性和全部的图结构按照选择逻辑从CPU内存复制到FPGA内存中;通过所述运行时引擎以用户接口暴露的计算能力和为满足计算需求而插入的数据转换的算子为最小单位,调度用户接口提供的算法实现算法在硬件上的运行;所述内核驱动提供用户态软件和硬件交互的能力。
2.如权利要求1所述的一种基于FPGA加速的异构图学习系统,其特征在于:所述结构性改进为:FPGA芯片内部的硬件结构由PCIe接口,网络接口,内存管理,核心硬件构成,PCIe接口处理PCIe数据连接层协议,提供DMA队列并实现通过TLP协议访问CPU内存;PCIe接口实现了P2P功能,即可以通过发送特殊构造的TLP实现和其他PCIe设备的直接通信;网络接口实现数据链路层的介质控制访问协议,网络层的IP协议和部分TCP协议;内存管理实现对外部内存芯片进行读写的控制逻辑;核心硬件部分运行本发明的主要逻辑;所述核心硬件部分设置由用户态软件构造并通过PCIe发送的,包括参数设置,数据加载,数据转换,远程数据发送的Doorbell指令,所述参数设置能够修改FPGA内存管理的相关参数,所述数据加载将驱动FPGA从CPU内存中加载数据到本地主存中,所述数据转换驱动FPGA从本地内存中读取数据并将数据通过PCIe发送到GPU中,所述远程数据发送驱动FPGA从本地内存中读取数据并通过网络接口发送到远程的主机中,FPGA本地内存中的数据存储由用户态软件确定。
3.如权利要求2所述的一种基于FPGA加速的异构图学习系统,其特征在于:所述用户接口包括用户自定义函数和可调用的算子,用户自定义函数分为Scatter,Gather,Aggregator三种类型;所述Gather类型函数作用于图中的一个节点a,输入为a的属性,a的所有边及边的属性,a的所有邻居及邻居的属性;所述Scatter用来更新边和节点的数据;所述Aggregator用于从某个节点的邻边和邻居节点中获取数据。
4.如权利要求3所述的一种基于FPGA加速的异构图学习系统,其特征在于:所述图数据从硬盘加载到内存中的具体方法为:内存分为结构存储区和属性存储区,图数据拓扑结构被存储在结构存储区内,结构存储区被分为两块,分别以节点和边为索引存储数据,使用节点ID进行寻址可以获得节点拓扑缓存的地址;所述节点拓扑缓存内存储对应节点所有的邻边和邻居节点ID,对于幂律分布图中的稠密节点,其节点拓扑缓存扩展到结构存储区的尾部,预处理器依据度数对结构存储区中的不同节点进行排序,边结构存储区按照节点ID为索引,存储边的端节点ID。
图数据的节点和边属性存储在属性存储区,使用节点或边的ID进行索引可以获得属性存储区内的一块节点属性存储区的首地址,一块节点属性存储区内包含该区域的元信息以及序列化存储的节点属性数据,边属性以节点度数为依据,将可能被连续访问的若干边存储在一块连续的地址空间内。预处理器在加载属性数据时参考结构数据中的顺序以实现对图属性数据的连续访问,考虑操作系统内存页面的大小,使用贪心方法将图属性数据放置在连续的页面中,并根据通用处理器的内存通道数量将图属性数据均匀分为相应块数。
5.如权利要求4所述的一种基于FPGA加速的异构图学习系统,其特征在于:所述选择逻辑是:从度数较低的节点开始选择需要同步的节点,直到小节点能够充分利用FPGA内存为止,对于每个属性存储区都执行类似的操作,并将选择出来的节点同步到FPGA板卡上通道独立的内存区域中,。
6.如权利要求5所述的一种基于FPGA加速的异构图学习系统,其特征在于:所述节点拓扑缓存的大小由用户手动指定或由预处理器自动选择,预处理器根据图数据中的节点平均度数来选择节点拓扑缓存的大小。
7.如权利要求6所述的一种基于FPGA加速的异构图学习系统,其特征在于:所述元信息包括起始与结束地址,大小,数据结构。
8.如权利要求7所述的一种基于FPGA加速的异构图学习系统,其特征在于:所述均匀定义为任意不同两块属性存储区间的互联数总和能够达到最小,所述属性存储区间的互联数定义为两块属性存储区内拥有指向另一属性存储区内节点的边的节点总和,所述预处理器使用启发式的算法进行计算。
9.如权利要求8所述的一种基于FPGA加速的异构图学习系统,其特征在于:所述调度的方法为:将用户算法抽象成一个有向无环图,其中节点表示算子,边表示数据的流动,将矩阵计算、卷积计算放置在GPU上进行,将简单的标量乘加运算放置在FPGA上进行,在执行矩阵乘法运算时,根据预处理器的结果,根据是否能够执行连续的内存访问,选择使用CPU进行数据转换或使用FPGA进行数据转换,当跨区域访问频繁时选择使用FPGA进行计算;当数据局部性较好时使用CPU进行计算。使用CPU进行数据转换时,CPU根据上下文从结构存储区和属性存储区内获取数据,转换为GPU算子需要的格式后调用驱动发送;使用FPGA进行数据转换时,CPU通过驱动发送Doorbell信号,FPGA根据Doorbell信号中提供的上下文直进行数据转换,将每个算子分割成更小的单元以方便被调度,并提供同步机制。
CN202110589828.5A 2021-05-28 2021-05-28 一种基于fpga加速的异构图学习系统 Active CN113312283B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110589828.5A CN113312283B (zh) 2021-05-28 2021-05-28 一种基于fpga加速的异构图学习系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110589828.5A CN113312283B (zh) 2021-05-28 2021-05-28 一种基于fpga加速的异构图学习系统

Publications (2)

Publication Number Publication Date
CN113312283A true CN113312283A (zh) 2021-08-27
CN113312283B CN113312283B (zh) 2023-05-02

Family

ID=77376026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110589828.5A Active CN113312283B (zh) 2021-05-28 2021-05-28 一种基于fpga加速的异构图学习系统

Country Status (1)

Country Link
CN (1) CN113312283B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115473861A (zh) * 2022-08-18 2022-12-13 珠海高凌信息科技股份有限公司 基于通信与计算分离的高性能处理系统和方法、存储介质
CN117493259A (zh) * 2023-12-28 2024-02-02 苏州元脑智能科技有限公司 一种数据存储系统、方法及服务器
CN117609122A (zh) * 2023-11-03 2024-02-27 摩尔线程智能科技(上海)有限责任公司 一种数据传输系统及方法、电子设备和存储介质
CN117827464A (zh) * 2024-03-04 2024-04-05 北京大学 异构内存情境下软硬件协同设计的内存优化方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9294097B1 (en) * 2013-11-15 2016-03-22 Scientific Concepts International Corporation Device array topology configuration and source code partitioning for device arrays
CN108563808A (zh) * 2018-01-05 2018-09-21 中国科学技术大学 基于fpga的异构可重构图计算加速器系统的设计方法
CN110765064A (zh) * 2019-10-18 2020-02-07 山东浪潮人工智能研究院有限公司 一种异构计算架构的边缘端图像处理系统及方法
CN111611198A (zh) * 2020-04-02 2020-09-01 天津七所精密机电技术有限公司 一种国产化异构计算加速平台

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9294097B1 (en) * 2013-11-15 2016-03-22 Scientific Concepts International Corporation Device array topology configuration and source code partitioning for device arrays
CN108563808A (zh) * 2018-01-05 2018-09-21 中国科学技术大学 基于fpga的异构可重构图计算加速器系统的设计方法
CN110765064A (zh) * 2019-10-18 2020-02-07 山东浪潮人工智能研究院有限公司 一种异构计算架构的边缘端图像处理系统及方法
CN111611198A (zh) * 2020-04-02 2020-09-01 天津七所精密机电技术有限公司 一种国产化异构计算加速平台

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115473861A (zh) * 2022-08-18 2022-12-13 珠海高凌信息科技股份有限公司 基于通信与计算分离的高性能处理系统和方法、存储介质
CN115473861B (zh) * 2022-08-18 2023-11-03 珠海高凌信息科技股份有限公司 基于通信与计算分离的高性能处理系统和方法、存储介质
CN117609122A (zh) * 2023-11-03 2024-02-27 摩尔线程智能科技(上海)有限责任公司 一种数据传输系统及方法、电子设备和存储介质
CN117493259A (zh) * 2023-12-28 2024-02-02 苏州元脑智能科技有限公司 一种数据存储系统、方法及服务器
CN117493259B (zh) * 2023-12-28 2024-04-05 苏州元脑智能科技有限公司 一种数据存储系统、方法及服务器
CN117827464A (zh) * 2024-03-04 2024-04-05 北京大学 异构内存情境下软硬件协同设计的内存优化方法及系统
CN117827464B (zh) * 2024-03-04 2024-04-30 北京大学 异构内存情境下软硬件协同设计的内存优化方法及系统

Also Published As

Publication number Publication date
CN113312283B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
CN113312283B (zh) 一种基于fpga加速的异构图学习系统
EP3667496B1 (en) Distributed computing system, data transmission method and device in distributed computing system
US20240211761A1 (en) Methods and systems for power management in a pattern recognition processing system
US9817678B2 (en) Methods and systems for detection in a state machine
CN110520853A (zh) 直接存储器访问的队列管理
KR101793890B1 (ko) 자율 메모리 아키텍처
CN116627892B (zh) 一种数据近存储计算方法、装置和存储介质
CN111860807B (zh) 分形计算装置、方法、集成电路及板卡
CN104239134A (zh) 一种众核系统的任务管理方法和装置
US11789733B2 (en) Instruction processing apparatus, acceleration unit, and server
US20180113951A1 (en) Graph traversal using automata processor
WO2023124304A1 (zh) 芯片的缓存系统、数据处理方法、设备、存储介质及芯片
WO2022228224A1 (zh) 量子计算任务执行方法、装置及量子计算机操作系统
Chen et al. Rubik: A hierarchical architecture for efficient graph learning
Sun et al. Multi-node acceleration for large-scale GCNs
CN111078286B (zh) 数据通信方法、计算系统和存储介质
US20220343144A1 (en) Server and accelerator for neural network computations
CN112235356B (zh) 一种基于集群的分布式pb级cfd仿真数据管理系统
CN113469326B (zh) 在神经网络模型中执行剪枝优化的集成电路装置及板卡
CN114912619A (zh) 一种量子计算任务调度方法、装置及量子计算机操作系统
CN111178373B (zh) 运算方法、装置及相关产品
CN118353776B (zh) 通信方法、装置、设备、介质、计算机程序产品及系统
CN112396186B (zh) 执行方法、装置及相关产品
KR20240041159A (ko) Cpu-gpu 협업 시스템 및 방법
CN117908959A (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