写点什么

全球首个软硬件推理平台 NVDLA 编译器正式开源,可在云端自主设计推理用 AI 芯片

  • 2019-09-12
  • 本文字数:1272 字

    阅读完需:约 4 分钟

全球首个软硬件推理平台NVDLA编译器正式开源,可在云端自主设计推理用AI芯片

全球首个软硬件推理平台 NVDLA 编译器正式开源,用户可凭借其源代码在云端自主设计推理用 AI 芯片。


为深度学习设计专用硬件加速器愈加受到欢迎,但如果想要使用新的设计方法来实现最先进的性能和效率,这无疑是一个复杂且具有挑战性的问题。


2017 年,为促进推理用深度学习加速器的设计,英伟达开源了NVDLA(全称 NVIDIA DeepLearning Accelerator),其中包括完整的源代码:Verilog 代码、C_Model 代码等。而且在英伟达 Jetson AGX Xavier开发套件中,也可以找到 NVDLA,它为 AI 提供了 7.9 TOPS / W 的最佳峰值效率。


近期,英伟达又在GitHub上开源了 NVDLA 编译器的源代码,这是世界上首个软硬件推理平台的完整开源代码,也是为系统架构师和软件团队提供的一个用于深度学习加速器设计的起点。


本篇文章将主要介绍网络图形编译器在实现专用硬件加速器能效这一关键目标中所扮演的角色,以及展示如何在云端构建和运行自定义 NVDLA 软硬件设计。



NVDLA 架构图



使用 NVDLA 进行物体检测

NVDLA 编译器性能和效率

NVDLA 核心具有六个专用硬件单元,可以同时调度,也可以在流水线配置中调度。它还具有小型和大型硬件配置文件,其中大型配置文件包括部分高级功能,如芯片上的 SRAM 接口、连接微控制器的能力等。


硬件架构采用模块化设计,可以从小型嵌入式物联网设计扩展到使用 NVDLA 阵列的大型数据中心级芯片。编译器可以根据各种选择因素进行调优:NVDLA 硬件配置、系统的 CPU、内存控制器配置、应用程序的自定义神经网络用例等。


更多有关 NVDLA 的详细信息请点击这里



NVDLA 小型配置文件模型


编译器优化(如层融合和流水线调度)适用于较大的 NVDLA 设计,可在各种神经网络架构中提供高达 3 倍的性能优势。这种优化是实现大型网络模型(如 ResNet-50)和小型网络模型(如 MobileNet)能效的关键。



对于较小的 NVDLA 设计,编译器优化(如 Memory tiling )对于提高能效至关重要。Memory tiling 是一种在权重和激活数据之间,平衡芯片内缓冲器使用的设计,能够减少芯片外存储器的流量和功耗。


此外,用户可以自由地创建定制的图层,并根据特殊用例进行调优,或者使用研究中所发布的最新前沿算法进行实验。


用户还可以根据下面的性能数字,评估 NVDLA 大型模型的预期性能。这里的测试结果是使用 Jetson AGX Xavier 开发工具包上的两个 NVDLA 核心之一捕获的。


在 AWS 上使用 RISC-V 和 FireSim 进行设计

通过这个编译器版本,NVDLA 用户可以访问、集成、增添和探索 NVDLA 平台所需的软件和硬件源代码。设计深度学习加速器入门的最佳方法之一是:直接使用 NVDLA 上的 YOLOv3 和云端的 RISC-V、 FireSim 进行对象检测。


要使用 FireSim-NVDLA,需要按照 FireSim 的操作说明,直到能够运行一个单节点模拟为止。在按照步骤进行操作时,请在“设置 FireSim Repo”部分中,验证是否正在使用 FireSim-NVDLA 存储库,如下所示:


git clone https://github.com/CSL-KU/firesim-nvdlacd firesim-nvdla./build-setup.sh fast
复制代码


使用 NVDLA 运行单节点模拟之后,请按照 NVDLA 上运行 YOLOv3 教程中的步骤操作,YOLOv3 会很快运行。



SiFive 使用 NVDLA 进行深度学习推理


2019-09-12 15:373523
用户头像
张之栋 前InfoQ编辑

发布了 91 篇内容, 共 43.3 次阅读, 收获喜欢 157 次。

关注

评论

发布
暂无评论
发现更多内容

jQuery 遍历-后代深入解析分析【前端jQuery框架】

恒山其若陋兮

7月月更

vue2升级vue3: TSX Vue 3 Composition API Refs

zhoulujun

Vue3 Ref JSX tsx 子组件

编写Prometheus HTTP 服务发现有什么要求

耳东@Erdong

Prometheus 服务注册与发现 7月月更

模块八

Geek_2ce415

行走的Offer收割机!首次公布Java10W字面经,Github访问量破百万

冉然学Java

MySQL Java 面试 Spring Boot CLI JVM; Redis 数据结构

Java编程

GalaxyCreater

Java

架构实战营模块8消息队列表结构设计

地下地上

架构实战营

你了解SpringBoot启动时API相关信息是用什么数据结构存储的吗?

宁在春

Java 源码 springboot 7月月更

Java面向对象

GalaxyCreater

Java 面向对象

自动化测试如何创造业务价值?

老张

自动化测试

消息队列存储消息数据的MySQL表设计

intelamd

透过开发抽奖小程序,体会创新与迭代

小院里的霍大侠

创业 前端开发 创新 淘宝小程序 签约计划第三季

架构实战营|模块8

KDA

#架构实战营

深度剖析 Apache EventMesh 云原生分布式事件驱动架构

老周聊架构

云原生 全球架构师峰会 ArchSummit 8月月更 Apache EventMesh

leetcode 406. Queue Reconstruction by Height 根据身高重建队列(中等)

okokabcd

LeetCode 数据结构与算法 贪心算法

听说学Python字体反爬的人,都打开过这篇博客,自如字体反爬,图片字体反爬

梦想橡皮擦

Python 爬虫 7月月更

最新发布!阿里巴巴专家亲自撰写,Dubbo 3.0 分布式实战(彩印版)

冉然学Java

Java 分布式 dubbo 框架 RPC 协议实现原理

CWE4.8 -- 2022年危害最大的25种软件安全问题

Tom(⊙o⊙)

软件安全 静态代码安全

Python中关于函数的那点事

Java学术趴

7月月更

Java线程

GalaxyCreater

Java

深入浅出边缘云 | 4. 生命周期管理

俞凡

架构 边缘计算 网络 深入浅出边缘云

啃完阿里老哥这套Java架构速成笔记,我都能拿30K

王小凡

Java MySQL spring 程序员 面试

3 分钟掌握 Node.js 版本的区别

pingan8787

JavaScript node.js Vue 前端开发

数据中台建设(六):数据体系建设

Lansonli

数据中台 7月月更

Java避坑指南:涉及金钱计算时使用BigDecimal如何避坑

Beaver

开源当周上Github趋势全球第三的HTAP数据库,大家都在关注它什么?StoneDB社区答疑第一期来啦!

StoneDB

数据库 云原生 OLAP HTAP StoneDB

类似 MS Project 的项目管理工具有哪些

PingCode

Spark 在 Yarn 上运行 Spark 应用程序

xiaosi

spark YARN

这款悄然崛起的国产API接口管理工具,你一定要晓得

王小凡

Java 程序员 开发工具 后端开发 API

Jenkins + Docker + Github 实现自动化部署 Maven 项目

宁在春

Docker 运维 jenkins 签约计划第三季

消息队列消息数据存储MySQL表设计

泋清

#架构实战营

  • 扫码加入 InfoQ 开发者交流群
全球首个软硬件推理平台NVDLA编译器正式开源,可在云端自主设计推理用AI芯片_语言 & 开发_Nvidia Developer_InfoQ精选文章