0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA的GNN加速器顶层架构

65eE_Broadcom_C 来源:Achronix 作者:Achronix 2021-08-27 09:44 次阅读

接上一篇......

GNN加速器顶层架构

此GNN加速器是为GraphSAGE算法设计的,但是它的设计也可以应用于其他类似的GNN算法加速。其顶层架构如下图所示。

该架构由以下模块组成:

图中的GNN内核是算法实现的核心部分(详情如下)。

RoCE-Lite是RDMA协议的轻量级版本,用于通过高速以太网进行远程存储访问,以支持海量节点的图计算。

400GE以太网控制器用于承载RoCE-Lite协议。

GDDR6存储器用于存储GNN处理过程中所需的高速访问数据(DDR4作为备用大容量存储器)。该存储器用于存储访问频率相对较低的数据,例如待预处理的图形数据。

PCIeGen5 ×16 接口提供高速主机接口,用于与服务器软件进行数据交互。

上述所有模块均通过具有高带宽的NoC实现互连。

GNN内核微架构

在开始讨论GNN内核的微架构之前,有必要先回顾一下GraphSAGE算法。其内层循环的聚合和合并(包括卷积)占据了该算法的大部分计算和存储访问。通过研究,我们得出这两个步骤的特点,具体如下。

表2:GNN算法中聚合和合并操作的对比(来源:https://arxiv.org/abs/1908.10834)

步骤 聚合操作 合并操作
存储访问方式 间接访问,不规则 直接访问,规则
数据重用
计算模式 动态,不规则 静态,规则
计算量
性能瓶颈 存储 计算

可以看出,聚合操作和合并操作在计算和存储访问模式上有着完全不同的需求。聚合操作涉及相邻节点的采样。然而,图形是一种非欧几里得数据类型——它的大小和维度是不确定且无序,矩阵稀疏,节点位置随机。因此,存储访问是不规则的,并且难以重复利用数据。

在合并操作中,输入数据是聚合结果(节点的低维表示)和权重矩阵。它的大小和维度是固定的,具有线性存储位置。因此对存储访问没有挑战,但是矩阵的计算量非常大。 基于上述分析,我们决定在GNN内核加速器设计中选择使用两种不同的硬件结构来分别处理聚合和合并操作(如下图示):

聚合器——通过单指令多数据(SIMD)处理器阵列,对图形相邻节点进行采样和聚合。单指令可以预定义为mean()平均值计算,或其他适用的聚合函数;多数据是指单次mean()均值计算中需要多个相邻节点的特征数据作为输入,这些数据来自子图采样器。SIMD处理器阵列通过调度器Agg Scheduler进行负载平衡。子图采样器通过NoC从GDDR6或DDR4读回的邻接矩阵和节点特征数据h0v分别缓存在邻接列表缓冲区(Adjacent ListBuffer)和节点特征缓冲区(Node Feature Buffer)。聚合的结果hkN(v)存储在聚合缓冲区(Aggregation Buffer)中。

合并器——通过脉动矩阵PE对聚合结果进行卷积运算。卷积核是Wk权重矩阵。卷积结果由ReLU激活函数进行非线性处理,同时也存储在PartialSum Buffer中,以用于下一轮迭代。

合并结果经过L2BN标准化处理后,即为最终的节点表示hkv。在一个典型的节点分类预测应用中,节点表示hkv可以通过一个全连接层(FC)来获取节点的分类标签。这个过程是传统的机器学习处理方法之一,在GraphSAGE文献资料中没有体现,这个功能也没有包含在这个架构中。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1626

    文章

    21667

    浏览量

    601842
  • 加速器
    +关注

    关注

    2

    文章

    795

    浏览量

    37759
  • GNN
    GNN
    +关注

    关注

    1

    文章

    31

    浏览量

    6328

原文标题:白皮书:一种基于FPGA的图神经网络加速器解决方案(WP024)(第二部分)

文章出处:【微信号:Broadcom_China,微信公众号:博通Broadcom】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    数据中心加速器就看GRVI Phalanx FPGA加速器

    数据中心采用FPGA加速器已经成为主流,像MS的Catapult,Amazon基于Xilinx FPGA的AWS F1,Intel的Altera,Baidu公司等
    的头像 发表于 10-16 11:49 8865次阅读
    数据中心<b class='flag-5'>加速器</b>就看GRVI Phalanx <b class='flag-5'>FPGA</b><b class='flag-5'>加速器</b>

    机器学习实战:GNN(图神经网络)加速器FPGA解决方案

    GNN架构在宏观层面有着很多与传统CNN类似的地方,比如卷积层、Polling、激活函数、机器学习处理(MLP)和FC层等等模块,都会在GNN中得以应用。
    发表于 10-19 17:05 2757次阅读
    机器学习实战:<b class='flag-5'>GNN</b>(图神经网络)<b class='flag-5'>加速器</b>的<b class='flag-5'>FPGA</b>解决方案

    #硬声创作季 电子制作:磁性加速器

    加速器DIY
    Mr_haohao
    发布于 :2022年10月19日 00:19:38

    机器学习实战:GNN加速器FPGA解决方案

    与Achronix的Speedster7t1500 FPGA解决方案5.1 GNN加速器顶层架构GNN
    发表于 10-20 09:48

    GNN(图神经网络)硬件加速FPGA实战解决方案

    5.1GNN加速器顶层架构GNN加速器针对GraphSAGE进行设计,但其
    发表于 07-07 08:00

    一种基于FPGA的图神经网络加速器解决方案

    在硬件层面进行升级和重新配置。复杂的设计丰富的硬IP减少开发时间、降低复杂性,NoC简化模块之间的互连并改善时序GNN加速器顶层架构GNN
    发表于 09-25 17:20

    【书籍评测活动NO.18】 AI加速器架构设计与实现

    经验总结图解NPU算法、架构与实现,从零设计产品级加速器当前,ChatGPT和自动驾驶等技术正在为人类社会带来巨大的生产力变革,其中基于深度学习和增强学习的AI计算扮演着至关重要的角色。新的计算范式需要
    发表于 07-28 10:50

    《 AI加速器架构设计与实现》+第2章的阅读概括

    首先感谢电子发烧友论坛提供的书籍和阅读评测的机会。 拿到书,先看一下封面介绍。这本书的中文名是《AI加速器架构设计与实现》,英文名是Accelerator Based on CNN Design
    发表于 09-17 16:39

    高级语言(HLL)标准扩展大大简化基于FPGA加速器的应用程序的开发

    扩展和利用FPGA实现加速的应用等内容。Convey公司制造了一整套的基于FPGA的硬件加速器板卡,支持PCIe计算接口和服务系统包裹Wo
    发表于 02-08 12:34 423次阅读
    高级语言(HLL)标准扩展大大简化基于<b class='flag-5'>FPGA</b><b class='flag-5'>加速器</b>的应用程序的开发

    优化基于FPGA的深度卷积神经网络的加速器设计

    CNN已经广泛用于图像识别,因为它能模仿生物视觉神经的行为获得很高识别准确率。最近,基于深度学习算法的现代应用高速增长进一步改善了研究和实现。特别地,多种基于FPGA平台的深度CNN加速器被提出
    发表于 11-17 13:31 7995次阅读

    基于Xilinx FPGA的Memcached硬件加速器的介绍

    本教程讨论基于Xilinx FPGA的Memcached硬件加速器的技术细节,该硬件加速器可为10G以太网端口提供线速Memcached服务。
    的头像 发表于 11-27 06:41 3701次阅读

    基于FPGA的SIMD卷积神经网络加速器

    一种基于FPGA的SIM卷积神经网络加速器架构。以YOOV2目标检测算法为例,介绍了将卷积神经网络模型映射到FPGA上的完整流程;对加速器
    发表于 05-28 14:00 24次下载

    基于FPGA的深度学习CNN加速器设计方案

    因为CNN的特有计算模式,通用处理对于CNN实现效率并不高,不能满足性能要求。 因此,近来已经提出了基于FPGA,GPU甚至ASIC设计的各种加速器来提高CNN设计的性能。
    发表于 06-14 16:03 2232次阅读
    基于<b class='flag-5'>FPGA</b>的深度学习CNN<b class='flag-5'>加速器</b>设计方案

    Rapanda流加速器-实时流式FPGA加速器解决方案

    电子发烧友网站提供《Rapanda流加速器-实时流式FPGA加速器解决方案.pdf》资料免费下载
    发表于 09-13 10:17 0次下载
    Rapanda流<b class='flag-5'>加速器</b>-实时流式<b class='flag-5'>FPGA</b><b class='flag-5'>加速器</b>解决方案

    粒子加速器加速原理是啥呢?

    粒子加速器加速原理是啥呢? 粒子加速器是一种重要的实验设备,用于研究粒子物理学、核物理学等领域。其主要原理是通过电场和磁场的作用,对带电粒子进行加速,在高速运动过程中使其获得较大的动
    的头像 发表于 12-18 13:52 1982次阅读