[发明专利]一种基于FPGA加速的异构图学习系统有效
| 申请号: | 202110589828.5 | 申请日: | 2021-05-28 | 
| 公开(公告)号: | CN113312283B | 公开(公告)日: | 2023-05-02 | 
| 发明(设计)人: | 李建欣;刘瀚骋;陈天宇 | 申请(专利权)人: | 北京航空航天大学 | 
| 主分类号: | G06F13/28 | 分类号: | G06F13/28;G06F13/42;G06F15/173;G06T1/20 | 
| 代理公司: | 北京中创阳光知识产权代理有限责任公司 11003 | 代理人: | 尹振启 | 
| 地址: | 100191*** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 基于 fpga 加速 构图 学习 系统 | ||
1.一种基于FPGA加速的异构图学习系统,其特征在于:由硬件部分和软件部分组成;
所述硬件部分由通用服务器、FPGA板卡、GPU构成,其中,FPGA和GPU连接在通用服务器CPU引出的PCIe接口上,二者通过一个CPU内部的电路或PCIe Switch芯片相互发送PCIeTLP报文,并在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进行索引可以获得属性存储区内的一块节点属性存储区的首地址,一块节点属性存储区内包含该区域的元信息以及序列化存储的节点属性数据,边属性以节点度数为依据,将可能被连续访问的若干边存储在一块连续的地址空间内,预处理器在加载属性数据时参考结构数据中的顺序以实现对图属性数据的连续访问,考虑操作系统内存页面的大小,使用贪心方法将图属性数据放置在连续的页面中,并根据通用处理器的内存通道数量将图属性数据均匀分为相应块数。
2.如权利要求1所述的一种基于FPGA加速的异构图学习系统,其特征在于:所述选择逻辑是:从度数较低的节点开始选择需要同步的节点,直到小节点能够充分利用FPGA内存为止,对于每个属性存储区都执行类似的操作,并将选择出来的节点同步到FPGA板卡上通道独立的内存区域中。
3.如权利要求2所述的一种基于FPGA加速的异构图学习系统,其特征在于:所述节点拓扑缓存的大小由用户手动指定或由预处理器自动选择,预处理器根据图数据中的节点平均度数来选择节点拓扑缓存的大小。
4.如权利要求3所述的一种基于FPGA加速的异构图学习系统,其特征在于:所述元信息包括起始与结束地址,大小,数据结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110589828.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用户信息监测方法及路由器
- 下一篇:一种暗光条件下基于视频的工业缺陷检测系统





