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

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

3天内不再提示

基于Xilinx FPGA的SDK端的深度学习开发工具包

电子工程师 来源:祥瑞Coding 作者:祥瑞Coding 2021-03-30 10:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

背景:深鉴科技的DNNDK,是一个基于Xilinx FPGASDK端的深度学习开发工具包,能够快速的实现深度学习的硬件化。

目的:了解深鉴科技DNNDK内容。

参考内容:

http://www.deephi.com/technology/dnndk

deephi_dnndk_1.10_betadocs user Guide

本篇目录

1. 概览

1.1 DNNDK基于什么?

1.2DP-8000开发板

2. DNNDK Framework

3. DPU应用部署

3.1模型压缩

3.2模型编译

4. DPU编程

4.1DPU Kernel

4.2DPU Task

4.3DPU Node

4.4DPU Tensor

5. 混合编译

6. 运行

7. 重要信息

7.1 板子是否为xilinx的开发板?

7.2 源码是否公开?

正文

1概览

DNNDK (Deep Neural Network Development Kit) - DeePhi deep learning SDK, is designed as an integrated framework, which aims to simplify & accelerate DL (Deep Learning) applications development and deployment on DeePhi DPU (Deep Learning Processing Unit) platform. (Click DNNDK for more information.)

1.1 DNNDK基于什么?

深鉴科技基于 XILINX FPGA芯片 (包括 ZYNQ-7020,ZU2,ZU3,ZU9, KU115等)实现了多个DPU开发平台(2018年将对外提供深鉴自主研发的对外提供深鉴自主研发的 DPU Soc芯片) ,DNNDK对所有 DPU开发平台向用 户提供统一的工具链和户编程接口 APIs。

1.2DP-8000开发板

运用zynq7020芯片,开发板与FPGA芯片是不一样的。

A complete set of solid optimization toolchains, covering compression, compilation and runtime

Lightweight standard C/C++ programming APIs

Easy-to-use & flat/gentle learning curve

2DNNDK Framework

DNNDK组成:

DEep ComprEssioN Tool (DECENT),深度压缩工具:提供剪枝和定点化运算。

Deep Neural Network Compiler (DNNC), 神经网络编译器:将网络算法编译到DPU平台高效运行。运用DECENT后的caffe网络模型作为输入。

Deep Neural Network Assembler (DNNAS), 神经网络集成器:将DPU指令流会编程标准的ELF二进制文件

Neural Network Runtime (N2Cube), 神经网络运行,运行时支持环境,神经网络的加载,资源管理,调度。N2Cube核心组件包括四个部分 : DPU驱动程序 (Driver),加载器 (Loader)、性能分析器 (Profiler)及编程开发库编程开发库 (Library)。

DPU Simulator and Profiler. 深度学习处理单元模拟器。simulator用于验证二进制指令流,只是深鉴科技内部使用,没有对外发布。

e04dd5cc-8c65-11eb-8b86-12bb97331649.png

3DPU应用部署

1. 模型压缩 (主机)
2. 模型编译 (主机)
3. DPU编程开发 (主机或开发板)
4. 混合编译 (开发板)
5. 运行 (开发板)

3.1模型压缩

DECENT工具:

e0b7bc58-8c65-11eb-8b86-12bb97331649.png

3.2模型编译

e11b24dc-8c65-11eb-8b86-12bb97331649.png

编译器前端( Parser)主要处理网络模型的分析与转换,解析输入网络模型的拓扑结构并将其为 DNNC内部与深度学习框架生成的计算图用IR表示。

中端为优化器 (Optimizer),它基于内部IR实施各种编译优化遍 ,包括融合计算图中不同节点间的操作 、高效调度指令 、充分复用 DPU片上数据等 。

代码生成器 (Code-generator)为DNNC编译后端, 主要负责把经过中端优化后的计算图IR映射成为高效运行在DPU上的指令流 。

4DPU编程

4.1DPU Kernel

将神经网络实现为FPGA上实体(可以看作IPcore)。DPU Kernel可以理解为在DPU平台上部署的平台上部署的一个深度学习网络模型的实 体。每个神经网络对应 一个 DPU汇编文件,通过调用DPU运行N2Cube时的dpuLoadKernel()成为一个可运行实体。 DPU的运行时将其加载到特定内存空间并为其分配硬件资源。 然后通过调用 dpuCreateTask()将其实例化为多个DPU Task。

4.2DPU Task

DPU Task是 DPU Kernel的一个运行实例 。每个 DPU Task中处理一个具体的计算任务。每个 DPU Task之间的内存空间相互独立,使得我们可以通过多线程来运行多个 DPU Task,以此来提高系统效率和吞吐量 。

4.3DPU Node

DPU Node是DPU上运行网络模型的一个组成部分 。每个 DPU Node都有其对应的输入、出以及其对应的输入、出以及相关参数。DPU Node依靠其名称来索引,我们可以依靠其名称来索引,我们可以通过 DNNDK提供的 API来获取每个 Node的相关信息 的相关信息 。

4.4DPU Tensor

DPU Tensor是多维数据的集合 ,用来存储网络在运行过程中的数据信息。我们可以通过DNNDK提供的 API获取某个 Tensor对应的属性,如 Height, Width,Channel以及地址信息。

5混合编译

e17b2756-8c65-11eb-8b86-12bb97331649.png

6运行

e1cd9fa4-8c65-11eb-8b86-12bb97331649.png

DPU运行时主要包含四部分:加载器 (Loader)、性能 、性能分析器( Profiler)、库( Library)和 DPU驱动( DPU Driver)。

7重要信息

7.1 板子是否为xilinx的开发板?

不是Xilinx的开发板,只是包含Xilinx的FPGA芯片7z020,开发板是深鉴科技的开发板DP-8000,但是有DPU及相应工具的情况下可以运用Xilinx的开发板来实现。

7.2 源码是否公开?

仅仅公开了主函数和.h头文件,并没有公开驱动和IPcore的源码。

相当于对DPU的定义封装到安装文件和二进制文件中,无法看到源码。

责任编辑:lq

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

    关注

    42

    文章

    4842

    浏览量

    108178
  • Xilinx
    +关注

    关注

    73

    文章

    2206

    浏览量

    131903
  • 驱动程序
    +关注

    关注

    19

    文章

    872

    浏览量

    50744

原文标题:深鉴科技DNNDK概览

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    KITSGTL5000EVBE 开发工具包无响应,i2c 失败的原因?

    KITSGTL5000EVBE 开发工具包无响应,i2c 失败
    发表于 04-22 07:11

    入门宇树机器人开发:从SDK源码探索到实战操作

    宇树机器人(Unitree)作为全球领先的四足机器人研发企业,其推出的unitree_sdk2是面向旗下 Go2、H1、B2 等系列机器人的第二代软件开发工具包。该 SDK 提供了丰富的接口和示例代码,支持
    的头像 发表于 02-06 16:43 3400次阅读
    入门宇树机器人<b class='flag-5'>开发</b>:从<b class='flag-5'>SDK</b>源码探索到实战操作

    Microchip推出SDI IP内核与四通道CoaXPress™桥接工具包,进一步扩展PolarFire® FPGA智能嵌入式视频生态系统

    )今日宣布扩展其 PolarFire ® FPGA 智能嵌入式视频生态系统,助力开发者实现可靠、低功耗且高带宽的视频连接。该嵌入式视觉解决方案协议栈整合了硬件评估工具包开发工具、IP
    的头像 发表于 01-27 12:14 625次阅读
    Microchip推出SDI IP内核与四通道CoaXPress™桥接<b class='flag-5'>工具包</b>,进一步扩展PolarFire® <b class='flag-5'>FPGA</b>智能嵌入式视频生态系统

    智能显示模块配套的界面开发工具怎么获取?

    想要试用你们的液晶屏,请问界面开发工具怎么获取?
    发表于 01-19 15:44

    恩智浦嵌入式HMI应用开发工具GUI Guider 1.10.1全新上线

    恩智浦嵌入式HMI应用开发工具GUI Guider 1.10.1全新上线啦!新版本重点聚焦性能提升、工具链升级、多点触控体验以及开发板适配,进一步优化IDE界面,增强功能稳定性,并完善文档体系。
    的头像 发表于 12-28 09:45 1969次阅读

    芯源都有哪些开发工具?具体性能如何?

    芯源都有哪些开发工具?具体性能如何?
    发表于 11-14 07:58

    PYQT 应用程序框架及开发工具

    特点,已成为嵌入式领域的重要开发工具 PyQt 是一个创建 GUI 应用程序的工具包。它是 Python 编程语言和 Qt 库的成功融合。因为可用的类有很多,他们被分成几个模块。QtCore 模块
    发表于 10-29 07:15

    华大电子支持的主流开发工具有哪些

    华大电子支持的主流开发工具
    的头像 发表于 09-28 10:43 777次阅读
    华大电子支持的主流<b class='flag-5'>开发工具</b>有哪些

    三种开发工具的功能和优势

    您喜欢捣鼓电子设备并自己动手制作项目吗?如果是,您可能会对Raspberry Pi、Arduino、ROCK及其他能帮助实现DIY目标的开发工具感兴趣。Raspberry Pi在全球已售出约3000万台,这一令人瞩目的成绩说明这类开发工具正在改变我们的创新方式。
    的头像 发表于 09-25 16:45 1115次阅读

    eForce无线通信软件开发工具包兼容WLAN模块WKR612AA1

    近期,eForce株式会社宣布,其面向嵌入式设备的无线通信软件开发工具包(μC3-WLAN SDK)现已兼容 KAGA FEI 生产的无线局域网(WLAN)模块"WKR612AA1"。
    的头像 发表于 09-24 15:16 1724次阅读

    IAR开发工具链有什么优势

    开发安全关键型应用时,选择具备成熟历史的硬件平台、完善的应用与诊断软件,以及经过功能安全认证的开发工具链,是确保项目顺利启动并高效完成开发和认证的关键。这一组合不仅显著节省时间与成本,还能帮助
    的头像 发表于 08-06 09:36 1312次阅读

    IQM 宣布 Resonance 量子云平台重大升级,推出全新软件开发工具包

    进程,并为终端用户带来性能强大的新一代量子系统。 此次升级将 Qrisp——一个源自德国弗劳恩霍夫 FOKUS 研究所的项目——设为平台新的默认软件开发工具包 (SDK)。Qrisp 为量子开发
    的头像 发表于 07-11 11:03 804次阅读

    Silicon Labs最新版本Simplicity Studio开发工具包SiSDK 2025.6.0增添多项无线技术协作

      Silicon Labs(芯科科技)在2025年第二季度发布了Simplicity Studio软件开发工具的最新版本— SiSDK 2025.6.0。此次更新在无线协议栈、通信协议及开发工具
    的头像 发表于 07-02 15:39 2700次阅读

    在IAR Arm开发工具链中--function_sections编译选项的使用

    本文主要介绍在IAR Arm开发工具链中不修改源代码的情况下使用‑‑function_sections编译选项把函数放到单独的section。
    的头像 发表于 06-13 13:53 1965次阅读
    在IAR Arm<b class='flag-5'>开发工具</b>链中--function_sections编译选项的使用

    IAR开发平台升级Arm和RISC-V开发工具链,加速现代嵌入式系统开发

    IAR正式发布其旗舰产品的重大更新版本:Arm开发工具链v9.70和RISC-V开发工具链v3.40。
    的头像 发表于 06-11 14:28 1131次阅读