买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于CPU-FPGA的大规模图上的随机游走异构计算系统_北京工业大学_202110092736.6 

申请/专利权人:北京工业大学

申请日:2021-01-22

公开(公告)日:2024-04-05

公开(公告)号:CN112667562B

主分类号:G06F15/78

分类号:G06F15/78;G06F13/40;G06F5/06;G06F9/54

优先权:

专利状态码:有效-授权

法律状态:2024.04.05#授权;2021.05.04#实质审查的生效;2021.04.16#公开

摘要:本发明提供了一种基于CPU‑FPGA的大规模图上的随机游走异构计算系统,用于提高大规模图计算中随机游走的性能问题。包括主机端处理主系统和FPGA计算子系统;主系统包括主机端PCIE接口模块、图数据预处理模块;子系统包括PCIE接口模块、片上主控制器模块、存储单元模块、随机数产生器模块、计算模块以及访存控制器模块;完整图数据存储到主系统中,部分重要数据以及计算过程数据存储到存储单元模块;利用PCIE提供的主系统与子系统之间的高速数据传输处理大规模图数据上的随机游走;存储单元模块为两级存储结构,将重要性高的顶点提前缓存到了片上;利用随机游走算法的高并行性,设计了多个并行异步处理单元组成的计算模块。

主权项:1.一种基于CPU-FPGA的大规模图上的随机游走异构计算系统,包括CPU处理主系统和FPGA计算子系统;所述CPU处理主系统与所述FPGA计算子系统通过PCIE接口相连接;所述CPU处理主系统包括主机端PCIE接口模块、图数据预处理模块;所述FPGA计算子系统,包括FPGA端PCIE接口模块、片上主控制器模块、存储单元模块、随机数产生器模块、计算模块以及访存控制器模块;CPU处理主系统中的内存,存储了随机游走算法所需要的一切图数据;所述主机端PCIE接口模块,用于管理CPU处理主系统和FPGA计算子系统之间的PCIE数据传输;通过PCIE接口,发送图相关数据、计算任务相关信息、控制命令信息到FPGA计算子系统;并且,监听PCIE接口,接收FPGA处理子系统发送过来的数据请求以及结果返回;所述FPGA端PCIE接口模块,用于管理FPGA计算子系统和CPU处理主系统之间的PCIE数据传输;监听PCIE接口,接收CPU处理主系统发送到FPGA上的图数据相关信息、计算任务相关信息、控制命令信息;通过PCIE接口,发送访存控制器模块传递过来的访存请求数据、存储单元模块中的结果数据到CPU处理主系统;所述片上主控制器模块,用于控制FPGA计算子系统的全局模块调度,包括解析主机端CPU处理主系统的控制命令,包括启动、暂停、重置,对全局模块进行启动、复位及重置;所述随机数产生器模块,采用线性反馈移位寄存器LFSR作为伪随机数生成的方式,用于在FPGA上生成高质量的随机数序列,提供给计算模块的各个处理单元使用;其特征在于,所述图数据预处理模块,用于压缩输入的图相关数据,以及从输入的图划分出一个存储到FPGA计算子系统上存储单元的子图,并压缩;所述的图相关数据包括图的结构信息、顶点之间的转移概率;压缩后的图相关数据存储在CPU处理主系统中;所述存储单元模块,用于综合FPGA片上存储资源,存储频繁访问的图数据信息、计算任务信息、以及结果信息;所述计算模块,用于对随机游走算法的执行;所述访存控制器模块,用于处理高并发的访存请求;主机端PCIE接口模块和FPGA端PCIE接口模块建立连接;主机端CPU处理主系统接收用户输入的图结构数据、概率转移矩阵数据、随机游走计算任务信息,并将其传递给图数据预处理模块;图数据预处理模块,接收到了输入的图结构数据、概率转移矩阵数据后,进行数据预处理,得到了CSR格式的压缩矩阵数据;主机端PCIE接口模块将预处理后的子图结构数据、概率转移矩阵数据、计算任务信息通过PCIE接口发送到FPGA计算子系统;FPGA端PCIE接口模块接收到了图数据、概率转移数据及计算任务信息后,传递给存储单元模块;存储单元模块将接收到的图数据、概率转移数据及计算任务信息进行存储,存储完成后告知片上主控制器模块;片上主控制器模块在图数据存储完毕之后,将计算任务信息发送给计算模块,并告知随机数产生器模块启动信息;随机数产生器模块接收到了启动信息后,开始产生随机数序列,并缓存到存储单元模块;计算模块将随机游走计算任务分配给各个处理单元,所有处理单元开始并行且独立的执行随机游走路径采样;处理单元执行路径采样过程中,通过访存控制器模块进行图数据访问及路径信息存储;访存控制器模块接收到了处理单元传递来的访存信息后,进行访存操作,将访存得到的数据返回给对应的处理单元;处理单元将随机游走路径采样过程中走过的顶点,通过访存控制器模块存储到存储单元模块;存储单元模块存储随机游走路径信息,达到了容量后,通过FPGA端PCIE接口和主机端PCIE接口,发送到主机内存;所有处理单元的计算任务均完成之后,片上主控制器向主机发送任务结束信息,主机端CPU处理主系统解析随机游走路径,将对应的子图编号还原到原图编号,最终得到了一批随机游走路径信息。

全文数据:

权利要求:

百度查询: 北京工业大学 一种基于CPU-FPGA的大规模图上的随机游走异构计算系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。