【技术实现步骤摘要】
一种基于图神经网络和FPGA的图数据处理方法
[0001]本专利技术涉及一种图数据处理方法,特别涉及一种基于图神经网络和
FPGA
的图数据处理方法
。
技术介绍
[0002]将人与人之间的社交网络会构成的图
、
地铁线路及高铁线路会构成的图
、
网民购买商品会构成的“网民
‑
商品”图
、
互联网中网页间的互相链接构成的图
、
论文的互相引用构成的图理解为图数据
。
根据这些图的信息可以完成很多任务,例如根据用户和商品的历史交互,预测一个用户是否会购买一个商品或对它感兴趣;而图数据处理由于其内容复杂
、
表现力强
、
需要处理的因素多,是计算机科学中最常见的抽象数据类型之一
。
在当今大数据时代,各种图数据包括大量无效数据,这些数据形成了庞大的图数据资源
。
在当云计算盛行的环境下,为图数据处理技术的应用提供了更有利的条件,同时带来了技术上的优化,使图数据处理技术的应用效率大大提高,在大规模运营中发挥着更重要的作用,对图数据处理的应用效果越来越好
。
[0003]目前,图分析任务通常采用图嵌入技术进行解决
。
通过图嵌入技术,可以将图中的结构及内容等信息用一个低维向量进行表征,该向量可以作为输入用于下游的学习任务中
。
另外,图嵌入还可以与深度学习技术相结合
。
例如,基 ...
【技术保护点】
【技术特征摘要】
1.
一种基于图神经网络和
FPGA
的图数据处理方法,其特征在于:所述方法通过以下步骤实现:步骤一
、
设计系统构架,包括外部存储器和
FPGA
加速器;其中,外部存储器,用于存储所有图形数据,包括顶点
、
边和更新;
FPGA
加速器,用于处理边缘和更新;
FPGA
加速器上的
RAM
用于缓冲顶点数据的缓冲器,处理逻辑被实现为并行流水线;步骤二
、
对于顶点阵列无法适应
FPGA
加速器上的
RAM
的大型图,使用基于顶点索引的简单划分方法对图进行划分;步骤三
、
设计
p
个引擎
PE
,用于并行处理不同的分区;当一个引擎
PE
完成一个分区的处理时,会自动分配另一个分区进行处理;且每个引擎
PE
都有一个单独的间隔缓冲区,由片上
URAM
构成,用于存储引擎
PE
正在处理的分区的间隔数据;步骤四
、
设计散布
‑
聚集编程模型进行图像处理;包括:在散布阶段,遍历每条边,以基于边的源顶点生成更新;之后,引擎
PE
从
RAM
读取边缘并将更新写入
RAM
;在聚集阶段,上一个散布阶段中生成的所有更新应用于相应的目标顶点;之后,引擎
PE
从
RAM
读取更新并将更新的顶点写入
RAM
;步骤五
、
进行数据映射
。2.
根据权利要求1所述的一种基于图神经网络和
FPGA
的图数据处理方法,其特征在于:所述的外部存储器选用
DRAM。3.
根据权利要求2所述的一种基于图神经网络和
FPGA
的图数据处理方法,其特征在于:所述的步骤四中,在分散阶段,引擎
PE
从
RAM
读取边缘并将更新写入
RAM
的过程,具体为:在遍历每条边时产生一个更新,产生的更新总数等于边的数量
|E|
;
|E|
更新在每个分散阶段写入外部存储器;在将更新写入到外部存储器之前,组合具有相同目标顶点的更新;并通过基于目标顶点对每个碎片的边缘进行排序,启用更新组合机制
。4.
根据权利要求3所述的一种基于图神经网络和
FPGA
的图数据处理方法,其特征在于:步骤四所述的设计散布
‑
聚集编程模型进行图像处理的过程,具体为:选用以边缘为中心的范式作为捕获具有不同...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。