Gemmini介绍

背景

虽然硬件生成器的工作使实例化 DNN 加速器变得更加容易,但它们主要关注加速器组件本身的设计,而不是考虑决定整个 SoC 和完整软件堆栈的系统级参数。一些行业观点主张对 DNN 加速器的开发和部署进行更全面的探索。

然而,现有的DNN生成器很少支持全栈编程接口,该接口提供加速器的高级和低级控制,并且很少支持完全的SoC集成,因此评估系统级影响具有挑战性。

与专注于独立加速器的现有 DNN 加速器生成器不同,Gemmini 还提供了涵盖硬件和软件堆栈的完整解决方案,以及与 RISC-V 生态系统兼容的完整 SoC 集成。此外,Gemmini 还实现了一个多级软件堆栈,具有易于使用的编程接口,以支持不同的编程要求,并与支持 Linux 的 SoC 紧密集成,从而可以执行任何任意软件。

Gemmini的贡献

Gemmini,这是一个开源的全栈 DNN 加速器设计基础架构,能够对深度学习架构进行系统评估。具体而言,Gemmini 提供了灵活的硬件模板、多层软件堆栈和集成的 SoC 环境。

基于 FPGA 的性能测量和商业 ASIC 合成流程对 Gemmini 生成的加速器进行严格的评估,以进行性能和效率分析。我们的评估表明,与最先进的商用 DNN 加速器相比,Gemmini 生成的加速器可提供相当的性能。

演示了 Gemmini 基础结构支持对运行 DNN 工作负载的 SoC 进行系统加速器协同设计,包括为 DNN 加速器设计高效的虚拟地址转换方案,以及在共享缓存层次结构中预配内存资源。

图表显示了与 Gemmini 相比,现有硬件生成器支持的不同功能。

不难看出,通过和其他加速器的横向对比,gemmini作为一款开源的硬件加速器其突出的优势是:提供了完整的SOC,运算阵列可配置,虚拟内存。

核心设计:运算阵列可配置

图1

 

图 1 说明了 Gemmini 的架构模板。Gemmini 建筑模板中的中心单元是具有空间分布处理元素 (PE) 的空间架构,每个元素执行点积和累积。空间数组从已存储的 SRAM 的本地显式管理暂存器读取数据,同时将结果写入位宽高于输入的本地累加器存储。Gemmini还支持其他常用的 DNN 内核,池化、非线性激活(ReLU 或 ReLU6)和矩阵标量乘法,通过一组可配置的外围电路。Gemmini 生成的加速器还可以与 RISC-V 主机 CPU 集成,以对加速器进行编程和配置。

图2

 

我们将 Gemmini 的空间阵列设计为具有两级层次结构,以便为不同的微架构结构提供灵活的模板,如图 2 所示。空间数组首先由切片组成,其中切片通过显式管道寄存器进行连接。每个单独的Tile都可以进一步分解为一个 PE 数组,其中同一Tile中的 PE 在没有管道寄存器的情况下组合连接。每个 PE 每个 PE 每个周期使用权重或输出稳态数据流执行一次乘法累加 (MAC) 操作。Tile由 PE 的矩形数组组成,其中同一Tile中的 PE 组合连接,它们之间没有管道寄存器。同样,空间数组由矩形Tile数组组成,但每个Tile与其相邻Tile之间都有管道寄存器。每个 PE 和每个Tile仅与其相邻的邻居共享输入和输出。

图3

 

图 3 说明了 Gemmini 的两级层次结构如何提供灵活性,以支持从完全流水线化的 TPU 架构到类似 NVDLA 的并行矢量引擎(其中 PE 组合在一起形成 MAC 约简树)或介于这两个极端之间的任何其他设计点。我们用256个PE合成了这两种设计。我们发现,由于其较短的MAC链,类TPU设计的最大频率提高了2.7倍,但由于其流水线寄存器,其消耗的面积是NVDLA设计的1.8倍,功耗是其3.0倍。借助 Gemmini,设计人员可以探索不同加速器设计中的这种封装与可扩展性权衡。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Gemmini RTL是指Gemmini的硬件设计源代码。通过查看Chipyard文档,可以找到有关如何生成Gemmini RTL的说明。Gemmini的架构模板中包含有空间分布处理元素(PE)的空间架构,每个元素执行点积和累积操作。Gemmini还支持其他常用的DNN内核,例如池化、非线性激活和矩阵标量乘法,并提供一组可配置的外围电路。生成的Gemmini加速器可以与RISC-V主机CPU集成,以对加速器进行编程和配置。Gemmini是一个开源的全栈DNN加速器设计基础架构,提供了灵活的硬件模板、多层软件堆栈和集成的SoC环境。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [gemmini:伯克利的脉动阵列发生器](https://download.csdn.net/download/weixin_42129005/20704113)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Gemmini介绍](https://blog.csdn.net/weixin_64407323/article/details/127048952)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值