全球首个软硬件推理平台 :NVDLA 编译器正式开源

开源深度学习加速器(NPU)NVDLA介绍 看来NPU的做法和思路和CPU不同,CPU设计上无论冯诺伊曼还是哈弗架构,都有统一而且标准的设计规范,并且ISA和微架构之间可以分开设计。NPU则不同,它的ISA和微架构没有分开,绑的比较紧,个人认为这种状态并非出于技术上的原因,而且因为为了符合各个vendor的设计思想和优化策略,NPU的ISA设计和微架构设计通常都是私有,并由一家独立完成,这样做虽然给厂商以性能优化的名义逐代提升性能提供了很好的理由,但是带来的生态隔离,模型不兼容也是产业界的一大痛点。NPU也是一个处理器,但是没有统一的设计标准的。 阅读详情

By 超神经

场景描述:为深度学习设计新的定制硬件加速器,是目前的一个趋势,但用一种新的设计,实现最先进的性能和效率却具有挑战性。近日,英伟达开源了软硬件推理平台 NVADLA 编译器,一起来围观一下吧。

关键词:英伟达  深度学习  加速器


2017 年,英伟达发布了深度学习加速器 NVDLA,全称 NVIDIA DeepLearning Accelerator,以推动在定制硬件设计中采用高效的 AI 推理。

在英伟达的开发套件 Jetson AGX Xavier 中,它能为 AI 模型提供 7.9 TOPS/W 的最佳峰值效率。

而最近,英伟达在 GitHub 上开源了 NVDLA 编译器的源代码,这是世界上首个软硬件推理平台的完整开源代码。系统架构师和软件开发者们,现在已可访问这个软硬件推理平台。

640?wx_fmt=png
使用 NVDLA 进行物体检测

在本文中,将详细介绍网络图形编译器,是如何提升了专用硬件加速器的性能,并介绍在云端,如何构建和运行自定义 NVDLA 软硬件设计。

NVDLA 编译器的性能和效率

编译器是 NVDLA 软件栈的关键组件。它能生成优化的执行图,将预训练的神经网络模型层中定义的任务,映射到 NVDLA 中的各个执行单元。

一方面能最大限度地利用计算硬件,另一方面尽可能地减少数据移动。

NVDLA 核心硬件有六个专门的硬件单元,可以实现同时调度,或者在流水线配置中实现调度。

640?wx_fmt=png
NVDLA 架构图

此外,它还具有小型和大型硬件配置文件。其中大型配置文件含有一些高级特性,如芯片上的 SRAM 接口、连接微控制器的能力。

640?wx_fmt=png
NVDLA 小型配置文件模型

硬件架构是模块化的,它被设计成可自由伸缩的形态,小到嵌入式物联网设计,大到使用NVDLA 单元阵列的大型数据中心,都能完美适用。

编译器可以根据多项因素进行调优:NVDLA 硬件配置、系统的 CPU 和内存控制配置,以及应用程序的自定义神经网络用例等等。

NVDLA 是如何提升性能的

在大型的 NVDLA 设计上,层融合和管道调度之类的编译器优化,表现性能良好,可广泛应用于多种神经网络架构,能提供高达 3 倍的性能效益。

这种优化后的灵活性,是实现跨大型网络模型(如ResNet-50)和小型网络模型(如 MobileNet)的性能优化的重要原因。

对于较小的 NVDLA 设计,编译器优化(如 Memory tiling )也是提高性能效率的关键。

Memory tiling 设计能在权重和激活数据之间,平衡芯片上缓冲区的使用,从而最小化芯片外存储的流量和能耗。

用户还可以自由地创建定制的图层,并根据自己的特殊用例进行调优,或者使用最新的算法进行实验。

为了方面对比,可以根据下面的性能数字,评估 NVDLA 大型模型的预期性能。测量数据来自 Jetson AGX Xavier 开发工具上的一个 NVDLA 核心捕获。

640?wx_fmt=png

使用 RISC-V 和 FireSim 在云端设计

通过这个编译器版本,NVDLA 用户可以访问集成、增添和探索 NVDLA 平台所需的软件和硬件源代码。

如果想要尝试入手,建议的方式是直接使用 NVDLA 上的 YOLOv3 ,以及云端的 RISC-V 和 FireSim 进行物体检测。

在使用 FireSim- NVADLA 时,可按照 FireSim 的说明操作,直到能够运行单节点模拟为止。

使用指南:http://docs.fires.im/en/1.5.0/index.html

按照教程中的步骤操作,在「设置FireSim Repo」一节中,验证是否正使用 FireSim -NVADLA  存储库,具体的操作代码如下:

git clone https://github.com/CSL-KU/firesim-nvdla	
cd firesim-nvdla	
./build-setup.sh fast

使用 NVDLA 运行单节点模拟之后,按照 NVDLA 教程中的步骤可以立即启动 YOLOv3。(地址:https://github.com/CSL-KU/firesim-nvdla#running-yolov3-on-nvdla)

这套编译器已经被 SiFive 这类初创公司所使用,并从中得到了受益。

640?wx_fmt=jpeg

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

据悉,SiFive 在一年前首次在自己的平台上开始使用 NVDLA,而经过了性能优化的开源 NVDLA 编译器,能够创建特定领域的优化 SoC 设计,为 IoT Edge 中的 AI 现代计算需求做足准备。

项目开源地址:
https://github.com/nvdla/sw/releases/tag/v1.2.0-OC
内容来源:
Nvidia Developer Blog

—— 完 ——

扫描二维码,加入讨论群

获得优质数据集

回复「读者」自动入群

更多精彩内容(点击图片阅读)
640?wx_fmt=gif
编程语言这么多,偏偏C语言成了大学的必修课!就因为二级吗? “我不是学计算机的,为啥要学C语言?”如果把学C语言的精力用来学学其它与专业相关度更高的东西,是不是会更好呢?既然如此,干嘛还学C语言呢? 大学里除了要拿到“毕业证”和“学位证”以外,还要过“四级”和“二级”,否则可能会被扣发两证,或找工作受阻,难以“落户”等。这里的二级指的是“全国计算机等级考试二级”,是一个面向“程序员”,“考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能”的考试。虽然社会只需要少量的人会编程序,但莫名其妙的是几乎所有的大学生都想(或被要求)过二级,导致程序 阅读详情

相关推荐

nvdla学习笔记_神经网络加速器NVDLA顶层接口与工作流程

Nvidia的开源神经网络加速器NVDLA已经在GitHub上面存在两个多月的时间了,而距离软件Software Stack的开源也差不多提上了日程。近期,NVDLA的代码库中已经更新了System C平台和Verilator,为更为便捷快速的软件仿真也提供了支撑。对于NVDLA的Top层与外界的接口以及工作流程,这里做一下总结。目前开源的软件代码和测试例都只是针对nv_large模式,目前已经更...

weixin_33603105的博客 1865

NVDLA学习笔记(2)

【硬件手册:硬件架构规范】

夏风喃喃的博客 8320

NVDLA: 开源深度学习加速器及其 DSP 开发介绍

为了解决这个问题,NVIDIA 提供了一种开源的深度学习加速器,称为 NVDLA(NVIDIA Deep Learning Accelerator),它提供了高性能的深度学习推理能力,并支持定制化的 DSP(Digital Signal Processor)开发。在上面的示例中,我们首先创建了一个 NVDLA 的实例,并加载了一个预训练的深度学习模型。最后,我们输入数据进行推理,并处理推理结果。总结来说,NVDLA 是一个开源的深度学习加速器,提供了高性能的深度学习推理能力,并支持定制化的 DSP 开发。

IfllUnity的博客 1084

NVDLA专题1:NVDLA框架介绍

NVDLA专题1,NVDLA框架总结和介绍。

fangfanglovezhou的博客 3875

如何编译并调试NVDLA编译器源码

NVDLA简单来说就是英伟达公司开源的AI处理器框架。NVDLA处理器主要包括Convolution Core,SDP,CDP,PDP等几个部分,分别进行卷积,线性运算,池化运算等等。可以单个模块工作,也可以多个模块协同工作。比如说Convlotion卷积得到的结果可以作为SDP的输入进行relu计算。为了让NVDLA的硬件可以更高效的配置,官方还开源了配套的软件工具链。compiler 编译器runtime 运行时kmd 内核驱动程序。

yvbycf的博客 1644

AI 编程新范式:一文彻底搞懂 LLM、Agent、MCP、Skill 是怎么协作的

本文用通俗易懂的方式解析了AI编程新架构的核心概念。通过"三国演义"类比,文章将复杂的技术架构拆解为:Agent(军师/大脑)负责思考和决策,Skill(招式/手脚)执行具体操作,MCP(令箭/协议)作为通信标准,MCP Server(将军/身体)承载多个Skill。这套分工架构使AI从单纯聊天进化成能完成实际编程任务的全能助手,实现了关注点分离——Agent专注智能提升,Skill专注功能实现,MCP确保稳定连接。这正是Cursor、Claude等新一代AI开发工具采用的核心架构,标志

猫老板的豆 3085

全球首个软硬件推理平台 :NVDLA编译器正式开源

作者 | 神经小姐姐来源 |HyperAI超神经(ID:HyperAI)【导读】为深度学习设计新的定制硬件加速器,是目前的一个趋势,但用一种新的设计,实现最先进的性能和...

AI科技大本营 1364

MobaXterm破解14个会话限制的保姆级教程(附Python环境配置指南)

本文提供了MobaXterm破解14个会话限制的详细教程,并深入讲解了如何配置稳定的Python环境以支持相关脚本运行。通过理解软件授权机制、安全实践步骤以及许可文件的应用,帮助用户解除会话数量限制,实现高效的远程服务器管理与自动化运维。

weixin_29211309的博客 1674

小型编译器的设计与实现_全球首个软硬件推理平台 :NVDLA编译器正式开源

作者 | 神经小姐姐来源 |HyperAI超神经(ID:HyperAI)【导读】为深度学习设计新的定制硬件加速器,是目前的一个趋势,但用一种新的设计,实现最先进的性能和效率却具有挑战性。近日,英伟达开源了软硬件推理平台 NVADLA 编译器,一起来围观一下吧。2017 年,英伟达发布了深度学习加速器 NVDLA,全称 NVIDIA DeepLearning Accelerator,以推...

weixin_39747293的博客 243

学Simulink——基于直流电机的建模与控制场景实例:直流电机带负载突变时的动态响应仿真

在实际应用中,直流电机经常需要应对各种工作条件的变化,例如负载突变。了解电机在这种情况下的动态响应特性对于确保系统的稳定性和可靠性至关重要。通过仿真分析,可以预测电机在不同负载条件下的表现,并优化控制系统的设计。本文将详细介绍如何使用来构建一个直流电机带负载突变时的动态响应仿真模型,并通过仿真展示其应用效果。本文介绍了如何使用构建一个直流电机带负载突变时的动态响应仿真模型,并通过仿真展示了其应用效果。

xiaoheshang_123的博客 115

PyTorch深度学习实战(29)——变分自编码器(Variational Autoencoder, VAE)

变分自编码器 (Variational Autoencoder, VAE) 是一种结合了自编码器和概率建模的生成模型,通过编码器将输入数据映射到潜在空间中的概率分布,并通过解码器将从潜在空间采样得到的潜在变量映射回原始数据空间,实现了数据的生成和特征学习。

盼小辉丶的博客 1万+

小型编译器的设计与实现_全球首个软硬件推理平台:NVDLA 编译器正式开源

原创:HyperAI超神经关键词:英伟达 深度学习 加速器2017 年,英伟达发布了深度学习加速器 NVDLA,全称 NVIDIA DeepLearning Accelerator,以推动在定制硬件设计中采用高效的 AI 推理。在英伟达的开发套件 Jetson AGX Xavier 中,它能为 AI 模型提供 7.9 TOPS/W 的最佳峰值效率。而最近,英伟达在 GitHub 上开源了 NVDL...

weixin_39855944的博客 296

103:vue+cesium 设置球体水部分颜色为黄色

本示例在 Vue + cesium 项目中设置球体水部分颜色为黄色。这里的操作是将球体内部设置为空的,在地球内部添加一个黄色的圆球,这样水的部分就被突出出来了。直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果.

大剑师兰特的GIS世界 626

nvdla学习笔记_NVDLA 深度学习推理编译器正式开源

为深度学习设计新的定制硬件加速器显然很受欢迎,但是用一种新的设计实现最先进的性能和效率是一个复杂和具有挑战性的问题。两年前,英伟达公司为英伟达深度学习加速器(NVDLA)的硬件设计打开了源代码,以帮助推动在定制硬件设计中采用高效的人工智能推理。同样的NVDLA也发布在NVIDIA Jetson AGX Xavier开发工具包中,它为AI提供了7.9 TOPS/W的最佳峰值效率。随着NVDLA在Gi...

weixin_39559382的博客 912

使用微信小程序开发制作一个简单的在线问答应用

以上就是一个简单的在线问答小程序的开发过程。其中包括前端界面的布局和逻辑,后端接口的设计和实现,以及部署和测试的步骤。通过以上步骤,你可以自己尝试开发一个类似的在线问答应用。

2401_85258012的博客 800

Open Dynamics Engine(ODE)物理引擎基础教程(I)——特点介绍

下一教程 Open Dynamics Engine(ODE)物理引擎基础教程(II)——相关概念 (在这一教程中将学习刚体、关节、碰撞的概念在ODE中的特点) 本文结构引言介绍特点使用ODE总结 引言 本文翻译自ODE官方教程英文版,有些地方增加了自己的理解。这一节介绍ODE的相关概念。 基础教程英文原版链接【http://ode.org/wiki/index.php?title=Manua...

腿足机器人领域 1680

NVDLA硬件信号和架构设计整理一

本系列力求将硬件模块设计方法和相关信号理清楚,便于后续改造。由于在《NVDLA内核态驱动代码整理三》中开坑开出来四个外部接口模块IRQCSBSRAMIFDBBIF,在阅读发现有大量信号介绍的部分,同时有大量的内部的寄存器方案,因此决定先把这部分整理完。以的架构作为开篇,引出外部接口。外部接口模块功能NVDLA中的某些状态要求向正在命令NVDLA的处理器异步报告,这些状态包括操作完成和错误条件。外部中断接口提供了一个单独的输出引脚,以补充CSB接口。主机系统通过一个非常简单的地址/数据接口访问和配置。

weixin_41029027的博客 2038

手把手教你学Simulink——基于自动驾驶辅助系统的场景实例:车道保持辅助系统(LKA)的仿真与实现

本文通过Simulink实例讲解车道保持辅助系统(LKA)的实现方法。首先介绍LKA从预警到主动控制的技术演进,阐述其系统架构、核心组件和工作原理。重点演示基于自行车模型的车辆横向动力学建模过程,以及使用线性二次调节器(LQR)设计横向控制器的详细步骤。教程包含四个仿真场景测试,分析关键指标如控制精度、舒适性和响应性。最后探讨LKA技术的发展方向,强调人机协同的安全理念。该实例为自动驾驶辅助系统开发提供了完整的Simulink实践方案。

MHD0815的博客 182

NVDLA专题9:具体模块介绍——Single Point Data Processor

NVDLA专题9:具体模块介绍——SinglePointDataProcessor

fangfanglovezhou的博客 1884

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

AI芯片:英伟达NVDLA结构分析

英伟达开源了深度学习硬件架构:NVDLA。 包括完整的源代码:Verilog代码,C_Model代码,以及验证平台代码。 英伟达官网上也有详细的文档。 非常值得学习推敲。 作为从业者,我更加关注NVDLA卷积核的实现方式。 不过,文档中并没有详细的说明。 于是,直接看代码,分析结构。 好记性不如烂笔头。 顺便将看代码的过程中学习到的东西,记录下来。 1.NVDLA硬件架构 ...

evolone的专栏 2万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

NVDLA阅读笔记

NVDLA阅读笔记 Unit Description System Architecture NVDLA作为深度学习加速器可以集成在SoC中作为一个协处理器; NVDLA有许多数据处理Engine,各Engine都是独立的且可以自由配置,比如不需要池化的网络可以移除Planar Data Processor,各Engine的调度操作可以委托给Microcontroller或者CPU;其中用Microcontroller来调度的方式称为“headed” implementation,用CPU来调度的方式称为“

谦豫 4029

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

NVDLA学习笔记(1)

【NVDLA入门】NVIDIA 深度学习加速器 (NVDLA) 是一个免费和开放的架构,促进设计深度学习推理加速器的标准方法。NVDLA 采用模块化架构,可扩展、高度可配置,旨在简化集成性和便携性。硬件支持广泛的 IoT 设备。

夏风喃喃的博客 1万+

nvdla学习笔记_英伟达开源硬件加速项目NVDLA:一种标准化的推断加速框架

本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载。NVDLA硬件提供了一个简单、灵活和鲁棒的推断加速解决方案。NVDLA硬件支持各种性能水平,并能轻松地从小型、成本敏感的物联网设备(IoT)扩展到大型性能指向型的IoT应用范围。NVDLA基于开放工业标准提供一组IP-core模型:Verilog模型为RTL形式下的综合模拟模型、TLMSyst...

weixin_39997311的博客 763

NVDLA专题12:具体模块介绍——LUT Programming

NVDLA专题12:具体模块介绍——LUT Programming

fangfanglovezhou的博客 1375

NVDLA硬件信号和架构设计整理二

本系列内容力求将nvdla的硬件设计和架构分析理清楚,如果有分析不对的请指出。前面已经分析了一篇信号和寄存器的文章,NVDLA硬件信号和架构设计整理一欢迎持续关注我对内核态代码的解读,链接分别如下:NVDLA内核态驱动代码整理一NVDLA内核态驱动代码整理二NVDLA内核态驱动代码整理三NVDLA内核态驱动代码整理四NVDLA内核态驱动代码整理五NVDLA内核态驱动代码整理六其中系列文章3有大量关系架构部分的介绍。NVDLA内核态驱动代码整理三note。

weixin_41029027的博客 1801

NVDLA 仿真环境搭建步骤

NVDLA

pink_flower的博客 2381
上一篇: 建筑制图 AI:10 秒内实现日夜景效果图转换【智能快讯】
下一篇: 谷歌联手清华美院:发现甲骨文的浪漫
HyperAI超神经
博客等级 码龄7年 8873粉丝 1753原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值