VITIS 是一个用于开发软件和硬件的统一软件平台,使用 Vivado 和其他用于 Xilinx FPGA SoC 平台(如 ZynqMP UltraScale+ 和 Alveo 卡)的组件。VITIS SDK 的关键组件 VITIS AI 运行时 (VART) 为在边缘和云上部署终端 ML/AI 应用程序提供了统一的接口。
机器学习中的推理是计算密集型的,需要高内存带宽和高性能计算,以满足各种终端应用程序的低延迟和高吞吐量要求。
Vitis AI 工作流程
Xilinx Vitis AI 提供了一个工作流,可使用简单的流程在 Xilinx 深度学习处理单元 (DPU) 上部署深度学习推理应用程序:

深度处理单元 (DPU) 是一种可配置的计算引擎,针对深度学习推理应用的卷积神经网络进行了优化,并置于可编程逻辑 (PL) 中。DPU 包含高效且可扩展的 IP 内核,可进行定制以满足许多不同应用的需求。DPU 定义自己的指令集,Vitis AI 编译器生成指令。
VITIS AI 编译器以优化的方式调度指令以获得可能的最大性能。
在 Xilinx ZynqMP UltraScale+ SoC 平台上运行任何 AI 应用程序的典型工作流程包括以下内容:
模型量化
模型编译
模型优化(可选)
构建 DPU 可执行文件
构建软件应用程序
集成 VITIS AI 统一 API
编译和链接混合 DPU 应用程序
在 FPGA 上部署混合 DPU 可执行文件
人工智能量化器
AI Quantizer 是一种用于量化过程的压缩工具,通过将 32 位浮点权重和激活转换为定点 INT8。它可以在不丢失模型准确信息的情况下降低计算复杂度。定点模型需要更少的内存,因此比浮点实现提供更快的执行和更高的功率效率。

人工智能编译
AI 编译器将网络模型映射到高效的指令集和数据流。编译器的输入是量化的 8 位神经网络,输出是 DPU 内核 - 可执行文件将在 DPU 上运行。在这里,不支持的层需要部署在 CPU 中,或者可以自定义模型来替换和删除那些不支持的操作。它还执行复杂的优化,例如层融合、指令调度和片上存储器的重用。
一旦我们能够执行 DPU,我们需要使用 Vitis AI 统一 API 来初始化数据结构,初始化 DPU,在 CPU 上实现 DPU 不支持的层,并在 CPU 上添加预处理和后处理PL/PS 的需求基础。

人工智能优化器
借助其模型压缩技术,AI Optimizer 可以将模型复杂度降低 5-50 倍,而对准确性的影响最小。这种深度压缩将推理性能提升到一个新的水平。我们可以实现所需的稀疏性并将运行时间减少 2.5 倍。

人工智能分析器
AI Profiler 可以帮助分析推理找到导致端到端管道瓶颈的警告。分析器为设计人员提供了 DPU/CPU/内存的通用时间线。此过程不会更改任何代码,并且可以跟踪功能并进行分析。

人工智能运行时
VITIS AI 运行时 (VART) 允许应用程序使用统一的高级运行时 API 进行边缘和云部署,使其无缝且高效。一些关键功能包括:
异步作业提交
异步作业收集
C++ 和 Python 实现
多线程和多进程执行
Vitis AI 还提供 DSight、DExplorer、DDump 和 DLet 等,用于执行各种任务。
DSight & DExplorer
DPU IP 为特定内核提供了多种配置,以根据网络模型进行选择。DSight 告诉我们每个 DPU 核心的百分比利用率。它还提供了调度程序的效率,以便我们可以调整用户线程。还可以查看每一层和每个 DPU 节点的性能数据,例如 MOPS、运行时间和内存带宽。
Softnautics选择赛灵思 ZynqMP UltraScale+ 平台进行高性能和计算部署。它提供最佳的应用程序处理、高度可配置的 FPGA 加速功能和 VITIS SDK,以加速高性能 ML/AI 推理。我们针对的此类应用之一是用于 Covid-19 筛查的面罩检测。其目的是为戴口罩的人的 Covid-19 筛查部署多流推理,并根据各国政府对 Covid-19 预防措施指南的要求,实时识别违规行为。

我们准备了一个数据集并选择了预训练的权重来设计一个用于掩码检测和筛选的模型。我们通过 TensorFlow 框架训练和修剪我们的自定义模型。这是面部检测和面具检测的两阶段部署。如此获得的训练模型通过前面章节中介绍的 VITIS AI 工作流程传递。与 CPU 相比,我们观察到推理时间的 10 倍速度。Xilinx 提供了不同的调试工具和实用程序,它们在初始开发和部署期间非常有用。在我们最初的部署阶段,我们没有检测到掩码和非掩码类别。我们尝试将基于 PC 的推理输出与名为 Dexplorer 的调试实用程序之一的输出相匹配。但是,调试模式和根本原因导致问题进一步调试。在运行量化器时,我们可以使用更大的校准图像、迭代和检测来调整输出,视频输入的准确率约为 96%。我们还尝试使用 AI 分析器识别管道中的瓶颈,然后采取纠正措施以通过各种方式消除瓶颈,例如使用 HLS 加速来计算后处理中的瓶颈。
审核编辑:郭婷
相关推荐
总部位于东京的初创企业 Telexistence 本周宣布将在日本数百家全家(FamilyMar....
发表于 08-12 17:54 •
35次
阅读
通过提出四个关键问题,开发人员将能够针对其特定的嵌入式 AI 项目确定最佳 AI 处理器候选者
发表于 08-12 17:08 •
24次
阅读
ABI的研究调查表明,预计到2024年设备端的AI推理功能将覆盖近60%的设备。FPGA作为实现边缘....
花茶晶晶 发表于 08-12 16:39
•
343次
阅读
人工智能在大数据分析应用的作用越来越大,更多的专业数据分析也开始采用上基于英伟达AI 技术来大幅提升....
电子麦克风 发表于 08-12 16:32
•
364次
阅读
人工智能公司不断改进和训练他们的算法,以改进医学诊断成像中的疾病检测。
发表于 08-12 15:13 •
53次
阅读
广泛应用于基于云的人工智能,机器学习即将开始出现在微处理器和微控制器硬件中
发表于 08-12 12:00 •
0次
阅读
在今年的 SIGGRAPH 2022 上,NVIDIA 宣布,为基于通用场景描述(USD)连接和构建....
AI、虚拟世界和数字人正在推动视觉设计进入更宽广的轨道。
ISA 总线早已从台式 PC 中消失,但在嵌入式系统中仍然非常需要。许多联盟成员和组件供应商继续....
Kneron创办人暨执行长刘峻诚表示:“Kneron致力于发展人工智能在终端装置上的应用,3D AI....
发表于 08-12 10:15 •
31次
阅读
瑞萨将于2022年10月发布RL78/F24 BLDC-RSSK(RL78/F24的12V电机控制瑞....
瑞萨电子 发表于 08-12 09:22
•
103次
阅读
对电源管理的需求不会消失。相反,它正在成为移动设备设计中越来越重要的特征。采用强大的电源管理策略....
发表于 08-12 09:18 •
39次
阅读
扎根租住行业的7年,深圳市优电智能有限公司(以下简称“优电智能”)的创始团队对这句话的理解应该更加深....
传感器集线器或传感器节点控制器可优化新智能设备设计中的功耗、设计尺寸和生产成本
发表于 08-11 16:55 •
43次
阅读
随着 OEM 寻求新的方法来支持客户,而不仅仅是交付系统,服务越来越成为一种差异化因素,并且在 ....
凭借安全设计理念,WMP-24K/22K/19K 还可配备 4KV 隔离 COM / LAN / U....
具有 3D 医学成像功能的 MXM 显卡还将医学成像提升到一个新的水平,并且还允许集成网络摄像头....
该领域的先驱是 Atmel 及其 picoPower 技术。Atmel 实施 picoPower 的....
发表于 08-11 15:58 •
65次
阅读
单核CPU上所谓的”多线程”那是假的多线程,同一时间处理器只会处理一段逻辑,只不过线程之间切换得比较....
十亿少男的梦 发表于 08-11 15:47
•
215次
阅读
8核CPU或者是更多核的处理器,这些CPU有可能不完全对称。有的是4个A15和4个A7,或者是4个A57和4个A53,甚至像海思麒麟...
发表于 08-11 15:36 •
1293次
阅读
行业相关 1、筑路数字经济 中兴通讯携创新终端产品亮相2022世界5G大会 8月10日,中兴通讯亮相....
研精毕智 发表于 08-11 15:33
•
137次
阅读
唤醒时间通常是决定设计人员在应用程序的任何给定点可以使用哪种断电模式的限制因素。监控电池电压的 RX....
发表于 08-11 15:04 •
40次
阅读
平均而言,GPU 计算位移的时间为 51.50 毫秒,而 CPU 计算的时间为 621.5 毫秒....
如果一个人在使用某项技术时遇到任何问题,他们可能会被告知将其关闭 10 秒钟,然后再重新打开。如果您....
发表于 08-11 14:57 •
18次
阅读
在开发医疗设备时,选择 RTOS 是一个涉及生死攸关的复杂决定。仔细关注 RTOS 产品的技术特....
发表于 08-11 14:57 •
25次
阅读
由于呼吸机需要更复杂、更易于使用以应对错误,同时保持可移动性,因此可靠控制设备的所述 COM 概....
尽管如此,即使是这些先进的 SoC 也永远不能声称是一种万能的解决方案。有时多处理器可能是最有效....
发表于 08-11 14:34 •
33次
阅读
当您设计嵌入式系统时,您需要回答的问题之一是您的应用程序是否需要实时操作系统 (RTOS)。许多嵌入....
名士流 发表于 08-11 14:33
•
102次
阅读
自动驾驶领域在近两年被大家所熟悉,主要的市场诱导因素是Tesla在辅助智能驾驶和采用全视觉技术的影子....
发表于 08-11 10:02 •
70次
阅读
旅行中的我们,总是在看一些关于过去的东西,比如自然的造化,历史的遗存。但或许你也会偶尔有个想法,想在....
华为数字中国 发表于 08-11 09:54
•
323次
阅读
近日,基于昇腾AI,摩赛恩与华为携手推出质谱智能计算系统MoloSight,并正式加入昇腾万里伙伴计....
华为计算 发表于 08-11 09:49
•
232次
阅读
去年莱迪思发布了sensAI 4.1解决方案,当时介绍的一个典型案例是用于PC智能和感知体验。如今,....
电子发烧友网 发表于 08-11 09:32
•
183次
阅读
微链 DaoAI是市场领先的3D 视觉和 AI 机器人系统供应商,拥有全球领先的 3D 视觉认知技术....
NVIDIA 新发布的工具和功能包括:Avatar Cloud Engine;DeepSearch ....
收发器由一个具有转换速率控制、电流限制的总线驱动器以及接收器中的一个高压比较器和一个去抖动单元组成....
发表于 08-11 09:27 •
56次
阅读
Omniverse Avatar Cloud Engine(ACE)为游戏、聊天机器人、数字孪生和虚....
8 月 10 日,快手 StreamLake 品牌发布会正式举办,以“云启共生·水润万象”为主题,推....
自2018年谷歌发布BERT以来,预训练大模型经过几年的发展,以强大的算法效果,席卷了以NLP为代表....
脑极体 发表于 08-11 09:10
•
301次
阅读
为新趋势而生 MediaTek APU 以深度学习加速器(DLA)、视觉处理单元(VPU),以及基于....
发表于 08-10 19:30 •
106次
阅读
总结一下: 结构体对齐不再是简单的字节个数的拼凑,而是要与内存地址进行挂钩~一般我们也可以理解为内存....
冬至配饺子 发表于 08-10 18:08
•
200次
阅读
全志最新发布的V853芯片拥有1T的NPU算力,还有Arm+RISC-V+NPU三核异构和丰富的音视....
全志在线 发表于 08-10 17:36
•
93次
阅读
国家“十四五”规划纲要强调“加快数字化发展,建设数字中国”,提出“以数字化助推城乡发展和治理模式创新....
英码科技 发表于 08-10 16:59
•
139次
阅读
WT2003D-32N 芯片专为小家电音频应用而设计的工业级芯片广泛应用于电饭煲、电磁 炉、微波炉、....
发表于 08-10 15:40 •
15次
阅读
随着6G行至深处,作为其关键技术之一的通信感知一体化(ISAC)的研究获得了高度关注。通信感知一体化....
恩艾NI知道 发表于 08-10 14:22
•
337次
阅读
从汽车到物联网,从芯片到电路板等等,降低成本和提高测试可预测性的目标取得了实质性进展
发表于 08-10 11:33 •
5次
阅读
具有集成图形处理单元的高性能多核 CPU 已进入智能手机。智能手机现在具有我们过去期望高端音频/视频....
英特尔至强 D-1529:英特尔的 D-1529 不是针对汽车应用,而是旨在满足IEC 61508安....
英雄孤寂 发表于 08-10 11:33
•
203次
阅读
FPGA可针对数据包步骤数量搭建同等数量流水线(流水线并行结构),数据包经多个流水线处理后可即时输出....
发表于 08-10 10:19 •
151次
阅读
【中国,沈阳,2022年8月9日】东北首座人工智能计算中心——沈阳人工智能计算中心(简称“沈阳智算”....
发表于 08-10 09:53 •
60次
阅读
本篇文章来源于微信群中的网友,分享下在SpinalHDL里如何丝滑的运行VCS跑Vivado相关仿真....
随着人工智能的发展和落地应用,以地理空间大数据为基础,利用人工智能技术对遥感数据智能分析与解译成为未....
发表于 08-10 09:06 •
65次
阅读
请教一下大神stm32f4 fpu与cpu可以同时工作吗?
...
发表于 08-05 14:09 •
1219次
阅读
根据不同的arm CPU构架,可以用不同的方式来实现spinlock.
基于load-exclusive/store-exclusive(也是load linked, store co...
发表于 08-04 14:46 •
1434次
阅读
ARM CPU集成了BIOS了吗?reboot 又是什么意思?它包含BIOS自检程式吗?!
...
发表于 08-03 14:20 •
1366次
阅读
1、C++多线程rknn_ssd例程简析
本例程修改自rk官方提供的rknn_sdd.cpp,处理的数据流来自usb-camera,帧率在25fps
添加本地视...
发表于 08-01 17:53 •
2855次
阅读
请教下wifi调试问题,开启wifi后使用wpa_cli工具scan提示CTRL-EVENT-NETWORK-NOT-FOUND,扫描不到任何w...
发表于 08-01 16:28 •
2391次
阅读
arm公司,有一款arm指令集仿真工具,名叫fastmodel。该model,可以用来仿真arm的程序,并且打印程序的执行流。不过该工具是收费的...
发表于 08-01 14:37 •
1092次
阅读
请问下:对市面上的ARM SOC芯片,如何可靠识别ARM SOC内所使用的ARM CPU内核IP型号?
1、对市面上的ARM...
发表于 08-01 14:14 •
1496次
阅读
tpidr_el1是启动时每个核写入的值么?
#ifdef RT_USING_SMP
/* The more common mpidr_el1 table, redefine it in ...
发表于 07-26 10:58 •
1618次
阅读
ALINX公司研发团队在疫情期间全部居家办公,研发工作有序推进,为了感谢所有客户对ALINX的支持,研发团队4名工程师在疫...
发表于 07-21 10:34 •
2741次
阅读
TMS320VC5501(5501)定点数字信号处理器(DSP)基于TMS320C55x™DSP生成CPU处理器内核。 C55x™DSP架构通过增加并行性和全面关注降低功耗来实现高性能和低功耗。 CPU支持内部总线结构,该结构由一个程序总线,三个数据读总线,两个数据写总线以及专用于外设和DMA活动的附加总线组成。这些总线能够在一个周期内执行最多三次数据读取和两次数据写入。并行,DMA控制器可以独立于CPU活动执行数据传输。
C55x™CPU提供两个乘法累加(MAC)单元,每个单元能够进行17位×17位乘法运算。单循环。额外的16位ALU支持中央40位算术/逻辑单元(ALU)。 ALU的使用受指令集控制,提供优化并行活动和功耗的能力。这些资源在C55x CPU的地址单元(AU)和数据单元(DU)中进行管理。
C55x DSP代支持可变字节宽度指令集,以提高代码密度。指令单元(IU)从内部或外部存储器执行32位程序提取,并为程序单元(PU)排队指令。程序单元解码指令,将任务指向AU和DU资源,并管理完全受保护的管道。预测分支功能可避免执行条件指令时的管道刷新。
5501外设...
发表于 10-09 14:55 •
538次
阅读
评论