前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >业界 | 英伟达开源硬件加速项目NVDLA:一种标准化的推断加速框架

业界 | 英伟达开源硬件加速项目NVDLA:一种标准化的推断加速框架

作者头像
机器之心
发布2018-05-10 10:23:14
1.7K0
发布2018-05-10 10:23:14
举报
文章被收录于专栏:机器之心

选自NVDLA

机器之心编译

参与:李亚洲、蒋思源

近日,英伟达深度学习加速器(NVDLA)项目推出了一种标准化的开放框架以解决执行推断(inference)的计算需求。NVDLA 架构不仅结合了可扩展性和可高度配置性,并且模块的设计始终保持灵活性与简单的集成性。NVDLA 架构通过与主要的深度学习网络保持互通而标准化了深度学习的加速提升,因此它有助于规模化地统一机器学习的增长。

项目地址:http://nvdla.org/

NVDLA 硬件提供了一个简单、灵活和鲁棒的推断加速解决方案。NVDLA 硬件支持各种性能水平,并能轻松地从小型、成本敏感的物联网设备(IoT)扩展到大型性能指向型的 IoT 应用范围。NVDLA 基于开放工业标准提供一组 IP-core 模型:Verilog 模型为 RTL 形式下的综合模拟模型、TLM SystemC 模拟模型能用于软件部署、系统集成和测试。NVDLA 软件生态系统包括设备内的软件堆栈(部分为开源版)、用于构建结合深度学习新模型的完整训练基础设施以及可以将现有模型转换为设备可用的软件解析器。

使用 NVDLA 加速深度学习的推断速度

NVDLA 引入了一个模块架构以简化配置、集成和可移植性,这主要是因为该构建块能用于加速核心深度学习推断运算。NVDLA 硬件主要由以下几个模块组成:

  • 卷积核心(Convolution Core):即一种最优化的高性能卷积引擎。
  • 一维数据处理器(Single Data Processor):激活函数的奇点检索引擎。
  • 二维数据处理器(Planar Data Processor):用于池化的平面均值引擎。
  • 通道数据处理器(Channel Data Processor):高级归一化函数的多通道均值引擎。
  • 专用内存与数据形状重塑引擎(Dedicated Memory and Data Reshape Engines):张量形状重塑和复制操作的内存到内存转换加速。

这些模块都是分离的和独立配置的,每个单元的调度操作都被委派给协同处理器(co-processor)或中央处理器,它们可以以非常细粒度的调度边界进行操作,因此每一个单元操作都是独立的。此外,密切管理的调度需要通过外加专用管理协同处理器成为 NVDLA 子系统的一部分。因此,NVDLA 硬件架构能够服务于各种大小的实现。

NVDLA 硬件利用标准实践与系统的其余部分进行接口交互:控制通道以实现寄存器文件和中断接口,并使用一对标准的 AXI 总线接口与存储器进行交互。此外,异构存储器接口可实现不同类型主机系统之间的额外灵活性。

NVDLA 实现一般可分为两个类别:

  • Headless:发生在主要系统处理器中单位接单位(unit-by-unit)的 NVDLA 硬件管理
  • Headed:委派高中断频率的任务到协同为处理器中,并且和 NVDLA 子系统紧密结合。

下图 1 的 Small 系统模型,展示了 NVDLA headless 的实现示例,Large 系统模型展示了有理解力的实现。前者是对成本敏感的设备建立的实现,后者增加了一个专门的控制协同处理器和高带宽 SRAM 支持的 NVDLA 子系统。Large 系统模型更面向可一次性运行许多任务的高性能 IoT 设备。

图 1:两个可能的 NVDLA 系统对比

硬件架构

NVDLA 架构可被编成进两种运算模式:独立模式、融合模式。

  • 独立模式(Independent):但独立运算时,每个功能块可配置为什么时候执行什么,各自完成分配的任务(类似于深度学习框架中的独立层)。独立运算的开始和结束都是由功能块在主系统存储或者专用 SRAM 存储中,完成存储到存储的运输。
  • 融合模式(Fused):融合运输类似于独立运算,但可把一些运算块组合为一个管道。通过对经过存储的路线进行分路而改善表现,而非让功能块通过小 FIFOs 让彼此之间家里(也就是卷积核能将数据传送到单个数据点处理器,它能将数据传送到平面数据处理器,且反过来传送到 Cross-channel 数据处理器中)

图 2:NVDLA 核心的内部架构

软件设计

据介绍,全部软件生态系统都支持 NVDLA,包括设备上软件堆栈、NVDLA 开源发布的部分软件。此外英伟达也将提供完整的训练基础设施,来建立融合深度学习的全新模型,并将已有的模型转换为 NVDLA 软件可用的形式。常见流程图如下图所示:

图 3:NVDAL系统软件内部的数据流程图

原文地址:http://nvdla.org/primer.html

本文为机器之心编译,转载请联系本公众号获得授权。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 NVDLA 加速深度学习的推断速度
  • 硬件架构
  • 软件设计
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档