资讯详情

Vitis AI 工具概述

深度学习处理器

深度学习处理器 (DPU) 是专门为深度神经网络优化的可编程引擎。它是由一组可参数化的 IP 核组成,这些 IP 不需要布局布线,就可以在硬件上预先实现核心。其设计主旨是为了帮助各种计算机视觉应用中广泛采用的深度学习推断算法实现计算工作负载加速,适合的应用包括图像/视频分类、语义分段以及目标检测/追踪。DPU 随 Vitis AI 共同发布专用指令,促进深度学习网络的有效实现。 例如,高效的张量层指令集旨在支持和加速各种常用的卷积神经网络,VGG、ResNet、GoogLeNet、YOLO、SSD 和 MobileNet 等。DPU 可轻松扩展,适应从边缘到云端的各种赛灵思维Zynq UltraScale MPSoC、赛灵思 Kria KV260、Versal 卡和 Alveo 开发板,满足各种应用的不同需求。 Vitis 配置文件将在过程中生成 arch.json。arch.json 文件可供 Vitis AI 模型编译中使用编译器。一旦 DPU 修改配置时,必须生成新的 arch.json。并且必须使用新的 arch.json 文件重生模型。在 DPU-TRD 中,arch.json 文件位于 $TRD_HOME/prj/Vitis/binary_container_1/link/vivado/vpl/prj/prj.gen/sources_1/bd/xilinx_zcu102_base/ip/xilinx_zcu102_base_DPUCZDX8G_1_0/arch.json。 Vitis AI 能为赛灵思考, Zynq? Vitis AI 能为赛灵思考, Zynq? UltraScale ? MPSoC、Kria KV260、Versal 卡等嵌入式设备及 Alveo 卡(如 U50LV、U200、U250 和 U55C)提供一系列不同的 DPU,从而实现吞吐量、延迟、可扩展性和功耗的独特差异和灵活性。

图 1. DPU 选项

DPU 命名

DPU 名称的不同字段用于表示不同的特征或作用,命名方案如下图所示:

图 2. DPU 命名方案

Zynq UltraScale MPSoC:DPUCZDX8G

DPUCZDX8G IP 针对 Zynq UltraScale MPSoC 优化。您可将此 IP 作为块集成到选定 Zynq UltraScale MPSoC 可编程逻辑 (PL) 直接连接到处理器系统 (PS)。DPU 用户可以通过指定这些参数来配置和包含多个参数 PL 优化资源,或者可以自定义启用的功能。自定义 AI 集成工程或产品 DPU,请访问 Vitis-AI/dsa/DPU-TRD at master · Xilinx/Vitis-AI · GitHub。

图 3. DPUCZDX8G 架构

Alveo U50LV/U55C 卡:DPUCAHX8H

赛灵思 DPUCAHX8H DPU 主要用于高吞吐量应用,是专门为卷积神经网络优化的可编程引擎。本单元包括高性能调度器模块、混合计算阵列模块、指令提取单元模块和全局存储池模块。DPU 采用专用指令集,支持多卷积神经网络的有效实现。部署的一些卷积神经网络示例包括 VGG、ResNet、GoogLeNet、YOLO、SSD、MobileNet 和 FPN。 DPU IP 可实现选择 Alveo 开发板的 PL 中。DPU 神经网络和可访问的存储器位置需要通过指令输入图像、临时数据和输出数据。PL 上运行的用户定义单元也需要执行必要的配置、注入指令、服务中断和协调数据传输。 DPU 如下图所示。

图 4. DPUCAHX8H 顶层模块框图

Alveo U200/U250 卡:DPUCADF8H

DPUCADF8H 是专为 Alveo U200/U250 卡最优化的 DPU,适用于高吞吐量的应用。DPUCADF8H 关键特征如下:

  • 以吞吐量为导向的高效计算引擎:吞吐量可根据不同的工作负荷提高 1.5~2.0 倍

  • 广泛的卷积神经网络支持

  • 对剪枝卷积神经网友好

  • 优化高分辨率图像

如下图所示:顶层模块框图:

图 5. DPUCADF8H 架构

Versal AI Core 系列:DPUCVDX8G

DPUCVDX8G 高性能通用 CNN 处理引擎,针对 Versal AI Core 优化了系列。相比传统 FPGA、CPU 和 GPU,Versal 该设备可提供优异的性能/功耗比。DPUCVDX8G 由 AI 引擎 和 PL 电路组成。此 IP 用户可以通过指定这些参数来配置和包含多个参数 AI 引擎和 PL 优化资源或定制功能。 DPUCVDX8G 如下图所示。

图 6. DPUCVDX8G 架构

Versal AI Core 系列:DPUCVDX8H

DPUCVDX8H 高性能能高,吞吐量高 CNN 处理引擎,针对 Versal AI Core 优化了系列。除传统程序逻辑外,Versal 该装置还集成了高性能 AI 引擎阵列,高带宽 NoC、DDR/LPDDR 与传统相比,控制器等高速接口 FPGA、CPU 和 GPU 可提供优异的性能功耗比。DPUCVDX8H 在 Versal 为了充分利用这些优点,在设备上实现。您可以通过配置参数来满足数据中心的应用要求。 DPUCVDX8H 如下图所示。

图 7. DPUCVDX8H 模块框图

Vitis AI Model Zoo

Vitis AI Model Zoo 包括最优化的深度学习模型,可以加快赛灵思平台上深度学习推断的部署。包括 ADAS/AD、视频监控机器人学和数据中心等。可以从这些预训练模型入手,享受深度学习加速带来的诸多好处。 如需了解更多信息,请参考 GitHub 上的 Vitis AI Model Zoo。

图 8. Vitis AI Model Zoo

Vitis AI 优化器

借助世界领先的模型压缩技术,您可以降低模型的复杂性,同时确保最低精度降级。 5 到 50 倍。如需了解相关信息 Vitis AI 请参考优化器的信息 Vitis AI 优化器用户指南(UG1333)。 Vitis AI 优化器需要商业许可证才能运行。请联系赛灵思销售代表获取更多信息。

图 9. Vitis AI 优化器

Vitis AI 量化器

通过将 32 将浮点权重和激活转换为定点 INT8),Vitis AI 量化器可以在不损失预测精度的情况下降低计算的复杂性。定点网络模型所需的存储带宽较小,因此比浮点模型更快、更有效。

图 10. Vitis AI 量化器

Vitis AI 编译器

Vitis AI 编译器可将 AI 模型映射到高效的指令集和数据流模型。它还可以尽可能复杂地优化,如层集成、指令调度和复用片上的存储器。

图 11. Vitis AI 编译器

Vitis AI Profiler

Vitis AI Profiler 可用于对 AI 应用程序进行性能分析和可视化,以找到不同设备之间的瓶颈,并分配计算资源。它使用方便,无需更改任何代码。它可以跟踪功能调用和运行时的硬件信息,包括 CPU、DPU 以及存储器利用率。

图 12. Vitis AI Profiler

Vitis AI 库

Vitis AI 库是一组高层次的库和 API,专为利用 DPU 高效执行 AI 以推断为基础。 Vitis AI 运行时利用 Vitis 运行时统一 API 来建的,能够为 XRT 提供完整支持。 Vitis AI 库通过封装诸多高效且高质量的神经网络,提供易用且统一的接口。由此可简化深度学习神经网络的使用,对于不具备深度学习或 FPGA 知识的用户也是如此。Vitis AI 库使您能够专注于开发自己的应用,而不是底层硬件。

图 13. Vitis AI 库

Vitis AI 运行时

Vitis AI 运行时支持应用为云端和边缘器件使用统一的高层次运行时 API,实现无缝高效的云端到边缘部署。 AI 运行时 API 的功能如下所述:

  • 向加速器异步提交作业

  • 从加速器异步收集作业

  • C++ 和 Python 实现

  • 支持多线程和多进程执行

Vitis AI 运行时 (VART) 是下一代运行时,适合基于 DPUCZDX8G、DPUCADF8H、DPUCAHX8H、DPUCVDX8G 和 DPUCVDX8H 的器件。

  • DPUCZDX8G 用于边缘器件,如 ZCU102 和 ZCU104 评估板以及 KV260 入门套件

  • DPUCADX8G 和 DPUCADF8H 用于云端器件,例如 Alveo U200 和 U250 卡。

  • DPUCAHX8H 用于云端器件,例如 Alveo U50LV 和 U55C 卡。

  • DPUCVDX8G 用于 Versal 评估板,例如 VCK190 开发板。

  • DPUCVDX8H 用于 Versal ACAP VCK5000 开发板。

VART 框架如下图所示。对于此 Vitis AI 版本,VART 基于 XRT。XIR 对应赛灵思中间表示形式 (Xilinx Intermediate Representation)。

图 14. VART 栈

标签: 存储器连接器智能卡

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台