用于图神经网络和图应用的可编程访问引擎架构制造技术

技术编号:32127950 阅读:16 留言:0更新日期:2022-01-29 19:20
本说明书描述了在图神经网络(GNN)处理时访问属性数据的方法和系统。示例系统包括:多个核,多个核中的每个包括键

【技术实现步骤摘要】
用于图神经网络和图应用的可编程访问引擎架构


[0001]本说明书涉及图神经网络(GNN)领域,尤其涉及对GNN的数据访问进行加速。

技术介绍

[0002]图神经网络(“GNN”)可以是用于非结构化数据建模和处理的有效模型。最近,GNN 越来越多地用于诸如推荐系统、风险控制系统等应用中。图数据可以是非结构化的。因 此,对图数据进行访问可以导致随机存储器访问。

技术实现思路

[0003]本说明书的实施例提供了一种用于在进行图神经网络(GNN)处理时访问GNN属性数 据的系统,包括:多个核,所述多个核中的每个包括键

值提取器和滤波器,并且是可使 用软件接口编程以支持GNN属性数据的多种数据格式,其中:键

值提取器可根据GNN属 性数据的多种数据格式中的一种来使用软件接口进行编程,以用于执行与访问GNN属性 数据相关联的键

值提取,并且多个核中的至少一个的滤波器可根据GNN属性数据的多种 数据格式中的一种使用软件接口编程以用于采样与访问GNN属性数据相关联的节点标识 符;以及第一存储器,与多个核通信耦合,其中第一存储器被配置为存储由多个核共享 的数据。
[0004]在一些实施例中,软件接口包括至少一个或多个以下用于对键

值提取器进行编程的 可配置参数:第一存储器的存储器地址,其存储键

值提取的键;第二存储器的存储器地 址,其存储键

值提取的值;待提取的键

值对的数量;待提取的数据长度;第一存储器 中用于写入结果的目标存储器地址;或指示是否启用重新排序的标志。
[0005]在一些实施例中,软件接口包括以下用于对滤波器进行编程的可配置参数中的至少 一个:采样算法;或用于滤波由采样算法生成的经采样结果的正则表达式。
[0006]在一些实施例中,多个核中的至少一个的键

值提取器还可以通过软件接口编程为: 确定第一存储器的存储与键对应的值的存储器地址;从存储器地址中提取与键对应的值; 并将提取的值写入到第一存储器中。
[0007]在一些实施例中,多个核包括第一核;第一核的键

值提取器可通过软件接口编程为: 确定第一存储器中的从其要提取根节点的边数据的地址,其中边数据包括根节点的邻近 节点的标识符,以及从确定的地址中提取根节点的边数据;并且第一核的滤波器可通过 软件接口编程为:使用采样算法从边数据中的邻近节点的标识符中进行采样以确定一个 或多个经采样节点标识符,并将一个或多个经采样节点标识符写入到第一存储器中。
[0008]在一些实施例中,根节点的边数据包括关于根节点的每条边的权重值;以及第一核 的滤波器还可以通过软件接口编程为:根据关于根节点的每条边的权重值进行采样以确 定一个或多个经采样节点标识符。
[0009]在一些实施例中,多个核包括第二核;并且第二核的键

值提取器可通过软件接口编 程为:确定第一存储器中从其要提取根节点的边列表指针的地址,从所确定的地址提取 根节点的边列表指针,其中边列表指针指向存储在第二存储器中的根节点的边列表,并 且
边列表中的每个将根节点连接到邻近节点,基于来自所述第二存储器的所述根节点的 边列表,提取根节点的邻近节点的一个或多个标识符,并将根节点的相邻节点的一个或 多个标识符写入到第一存储器中以供第一核访问。
[0010]在一些实施例中,多个核包括第三核;并且第三核的键

值提取器可通过软件接口编 程为:接收与根节点对应的根节点标识符,根据根节点标识符来确定边列表指针,并将 边列表指针写入到第一存储器中以供第二核访问。
[0011]在一些实施例中,多个核包括第三核和第四核;第三核的键

值提取器可通过软件接 口编程为:接收与根节点对应的根节点标识符,根据根节点标识符提取与根节点对应的 指针,其中与根节点标识符对应的指针指向根节点的结构数据,并且根节点的结构数据 包括边列表指针,并且将与根节点对应的指针写入到第一存储器中以供第四核访问;以 及第四核的键

值提取器可通过软件接口编程为:确定第一存储器中从其要提取对应于根 节点的指针的地址;从确定的地址中提取来自存储器缓冲器中的与根节点对应的指针, 根据与根节点对应的指针来确定边列表指针,并将边列表指针写入到第一存储器中以供 第二核访问。
[0012]在一些实施例中,多个核包括第五核和第六核;第五核的键

值提取器可通过软件接 口编程为:确定第一存储器中从其要提取经采样节点标识符的地址,从确定的地址中提 取来自第一存储器的经采样节点标识符,提取指向存储在第二存储器中的经采样节点标 识符的属性数据的经采样指针,并将经采样指针写入第一存储器以供第六核访问;以及 第六核的键

值提取器可通过软件接口编程为:确定第一存储器中从其要提取经采样指针 的地址,从所确定的地址中提取来自第一存储器的经采样指针,使用经采样指针从第二 存储器中提取属性数据,并将属性数据发送到专用处理器以用于进行GNN处理。
[0013]在一些实施例中,多个核中的每个还包括重新排序记分板,其中重新排序记分板可 通过软件接口编程为:从同一核中的键

值提取器或滤波器接收数据;并对接收到的数据 进行排序。
[0014]在一些实施例中,多个核中的每个在现场可编程门阵列(FPGA)上被实施。
[0015]根据本说明书的方法和系统,GNN存储器访问系统可以被实施为GNN加速器。GNN加 速器可以包括可通过一个或多个软件可编程接口配置的多个核。通过一个或多个软件可 编程接口,GNN加速器可以被配置或编程为在处理GNN数据访问时提供极大的灵活性。 由于GNN存储器访问系统的核是可编程的,因此它们可以被灵活编程为匹配各种不同的 数据格式(例如,数据结构或布局),包括压缩稀疏行(CSR)格式、坐标(COO)格式、链 表格式、数组格式、动态图格式、键

值格式、关于边的权重值格式、编码属性格式、间 接节点

标识符格式、任意跳数格式、跳过提取权重或属性格式、其他格式或其任意组合。 与具有用于处理特定GNN数据格式的内部管道硬编码/连线的现有GNN加速器相比,本文 所述的GNN存储器访问系统可编程为与已知的主流GNN数据格式兼容。因此,改进了GNN 存储器访问系统的功能,并且扩展了系统的可用性以处理和支持以不同数据格式表示的 GNN。
附图说明
[0016]图1是根据本说明书的一些实施例的示例图的示意图。
[0017]图2是根据本说明书的一些实施例的使用GNN加速器架构的示例系统的示意图。
[0018]图3是根据本说明书的一些实施例的用于加速GNN性能的示例系统的示意图。
[0019]图4是根据本说明书的一些实施例的示例GNN访问引擎的示意图。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在进行图神经网络(GNN)处理时访问GNN属性数据的系统,包括:多个核,多个核中的每个包括键

值提取器和滤波器,并且能够使用软件接口来编程以支持所述GNN属性数据的多种数据格式,其中:键

值提取器能够根据多种数据格式中的一种来使用所述软件接口而编程,以用于执行与访问所述GNN属性数据相关联的键

值提取,以及所述多个核中的至少一个的滤波器能够根据多种数据格式中的一种来使用所述软件接口而编程以用于采样与访问所述GNN属性数据相关联的节点标识符;以及与所述多个核通信耦合的第一存储器,其中所述第一存储器被配置为存储由所述多个核共享的数据。2.根据权利要求1所述的系统,其中所述软件接口包括用于对所述键

值提取器进行编程的以下可配置参数中的至少一个或多个:所述第一存储器中存储键

值提取的键的存储器地址;第二存储器中存储键

值提取的值的存储器地址;待提取的键

值对的数量;待提取的数据长度;所述第一存储器中用于写入结果的目标存储器地址;或指示是否启用重新排序的标志。3.根据权利要求1所述的系统,其中,所述软件接口包括用于对所述滤波器进行编程的以下可配置参数中的至少一个:采样算法;或用于滤波由所述采样算法生成的经采样结果的正则表达式。4.根据权利要求1所述的系统,其中:所述多个核包括至少一个核;以及所述至少一个核的键

值提取器能够通过所述软件接口编程为:确定存储了与所述键对应的值的第二存储器的存储器地址;从所述第二存储器的存储器地址中提取与所述键对应的值;以及将所提取的值写入到所述第一存储器中。5.根据权利要求1所述的系统,其中:多个核包括第一核;所述第一核的键

值提取器能够通过所述软件接口编程为:确定所述第一存储器中的从其要提取根节点的边数据的地址,其中所述边数据包括根节点的邻近节点的标识符,以及从确定的地址中提取所述根节点的边数据;以及所述第一核的滤波器能够通过所述软件接口编程为:使用采样算法从所述边数据的邻近节点的标识符中进行采样以确定一个或多个经采样节点标识符,以及将一个或多个经采样节点标识符写入到所述第一存储器中。6.根据权利要求5所述的系统,其中:所述根节点的边数据包括关于所述根节点的每条边的权重值;以及
所述第一核的滤波器能够通过所述软件接口编程为:根据关于所述根节点的每条边的权重值进行采样以确定一个或多个经采样节点标识符。7.根据权利要求5所述的系统,其中:所述多个核包括第二核;以及所述第二核的键

值提取器能够通过所述软件接口编程为:确定所述第一存储器中要从其提取所述根节点的边列表指针的地址,从确定的地址中提取所述根节点的边列表指针,其中所述边列表指针指向存储在第二存储器中的根节点的边列表,并且所述边列表中的每个将所述根节点连接到邻近节点,基于来自所述第二存储器的所述根节点的边列表,提取所述根节点的邻近节点的一个或多个标识符,以及将所述根节点的邻近节点的一个或多个标识符写入到所述第一存储器中以供所述第一核访问。8.根据权利要求7所述的系统,其中:所述多个核包括第三核;以及所述第三核的键

值提取器能够通过所述软件接口编程为:接收与所述根节点对应的根节点标识符,根据所述根节点标识符来确定所述边列表指针,以及将所述边列表指...

【专利技术属性】
技术研发人员:刘恒李双辰关天婵郑宏忠
申请(专利权)人:平头哥上海半导体技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1