1 Vitis AiVitis™ AI 开发环境是 Xilinx 的开发平台,适用于在 Xilinx 硬件平台(包括边缘器件和 Alveo 卡)上进行人工智能推断。它由优化的 IP、工具、库、模型和示例设计组成。Vitis AI 以高效易用为设计理念,可在 Xilinx FPGA 和 ACAP 上充分发挥人工智能加速的潜力。 使用新的软件平台进行Ai加速必然需要借助DPU这个IP核,目前较为实用且开发难度较小的方式就是使用Xilinx的官方开发流程Vitis Ai开发流程。 如图所示是Vitis Ai的开发框架,从顶层的框架一步一步部署到DPU上,并实现Ai的加速。以下是官方叙述: · 支持主流框架和最新的模型,能够执行不同的深度学习任务 · 提供一系列全面的预先优化模型,这些模型现已就绪,可随时部署在 Xilinx 器件上。您可以找到最相似的模型,开始针对您的应用重新训练! · 提供功能强大的开源量化器,支持剪枝和未剪枝的模型量化、校准和微调。 · AI 分析器提供逐层分析,有助于解决瓶颈问题 · AI 库提供高层次 C++ 和 Python API,可实现从边缘到云端的最大可移植性。 · 可以从吞吐量、时延和 电源角度定制可扩展的高效 IP 内核,满足您对许多不同应用的需求。 能够利用C++以及python等进行Ai应用开发,但是非常遗憾的是,目前官方并未完全完善这套系统,仅仅对于官方 开发板以及Avnet的边缘开发套件较为友好,其他的板子均存在较大的开发难度。现在就利用FZ3开发自己的Ai系统平台。 2 利用vitis搭建系统平台Vitis整合了之前版本的SDSOC以及SDA开发套件,将软硬件协同加速正式整合一体,并且加入了Ai、CV以及加速库,是的硬件加速更为便捷。但是目前Vitis软件仅仅提供了官方几套开发板的硬件平台,也就是在新建工程时需要platform,其他的板卡仍然需要自己去定制。 在生成硬件平台之前需要做以下的文件准备: 1.sysroots:由上一使用报告使用petalinux生成系统时产生sdk.sh文件,然后运行 ./sdk.sh得到sysroots文件夹,平台所需要的库文件以及相关API也是依赖于这个文件夹。 2.XSA文件:由Vivado生成。这个XSA文件包含了硬件BD的tcl脚本,能够根据tcl代码还原硬件工程,并且其中包含了bit文件,是硬件平台的框架支撑。 3.可执行文件 · zynqmp_f***l.elf · pmufw.elf · bl31.elf · u-boot.elf 上述四个文件也是由上一章试用得到,直接复制或者试用即可,此外还需要一个bif文件: /* linux */ the_ROM_image: { [f***l_config] a53_x64 [bootloader] [destination_device=pl] [destination_cpu=a53-0,exception_level=el-3, trustzone] [destination_cpu=a53-0,exception_level=el-2] } 准备好上述文件即可开始搭建系统,由于制作过程并没有记录,截图均是试用官方git上的截图。 首先新建工程,选择根据XSA文件创建系统并且选择该XSA文件。 选择系统为Linux 选择处理器为psu_cortexa53 选择arch为64-bit 完成得到如图: 注:图片来源:官方github 根据上图选择之前准备好的文件即可。 然后编译。 最后得到下面的文件和系统平台: 文件夹export下就是本次的系统平台。 3 验证系统平台新建一个加速应用验证上述平台的试用。 选择File -> New -> Application Project. 点击next 选择上一章节生成的platform,并点击next 命名vector_add并点击next. 设置Damain为linux onpsu_cortexa53,设置Sys_rootpath 为之前文件准备的文件夹 选择vitis自带的加速例程:VectorAddition完成后进去应用程序界面 双击vadd.prj打开, 将Emulation-SW 改为Hardware. 最后build即可。 最后会生成以下几个文件: 将 binary_container_1.xclbin, BOOT.BIN,image.ub, vector_add 以及boot.scr拷贝到SD的BOOT分区。 试用Xshell进入系统: exportXILINX_XRT=/usr cd/mnt/sd-mmcblk1p1/ 可以看到之前复制进去的binary_container_1.xclbin文件 ./vector_add binary_container_1.xclbin 即可查看到: TEST PASSED 出去上述字样即证明该项系统平台验证成功。 4 下一期平台已经搭建好,下一步加入DPU,做深度学习的加速。
|