博客
通用串行总线(Universal Serial Bus)是连接计算机系统与外部设备的一种串行总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通信产品。USB总线是最复杂的总线之一,但其广泛使用。本文首先直接使用USB相关的驱动的应用,后面再具体开始编程做自己的USB驱动程序。
在百度edgeboard fzu3上运行CIFAR10 Classification,介绍Vitis AI TensorFlow设计过程,将Python描述的网络模型运行在Xilinx DPU上。
在虚拟机中的ubuntu中开发linux系统驱动程序,往往直接使用gedit编辑,makefile编译,而这种方法比较麻烦;Eclipse是开源软件框架,编辑器比较好用,配置好编译器后可以更加方便快捷的开发程序,本文介绍如何使用Eclipse开发Linux的驱动程序。
Vivado的Implementation主要有三大步:
opt_design,会生成opt_desgin.dcp
place_design,会生成place_design.dcp
route_design,会生成route_design.dcp
Xilinx提供了一些基础的开发板平台内嵌在Vitis IDE中,用户可以直接从这些platform创建应用程序。但如果是自定义的板卡或者想要部署更多加速器IP、配置不同的性能,我们就需要创建完全自定义的硬件平台。本文介绍创建Vitis AI硬件平台的基本步骤。
经过前面的实验,我们已经基本摸清楚了Vitis IDE & Vivado的使用方法。在开始构建DPU与深度学习软件栈之前,我们先对我们拿到的开发板做个体检(硬件全面测试),由于大部分深度学习软件框架都是运行在Linux, android或IOS等嵌入式系统上,因此测试完硬件后还需要搭建一个Linux系统以供后续开发使用。
本系列笔记旨在更深入的探索Vitis以及Vitis内部所使用到的技术,本系列主要针对深度学习部署进行探索,比如自定义自己的深度学习硬件平台,深度学习模型量化、模型编译、TVM自动调优,多DPU核异构系统的调度计算等等。
Vitis AI开发套件提供high-leve C++/Python APIs(VART)进行从云到边器件开发。对于边缘DPU,除了VART,还可以使用advanced low-level C++/Python APIs。

