0 绪论
本文是XUP Vitis的Compute Acceleration教程的内容概览以及部分踩坑记录,希望可以帮助到小伙伴可以在本地体验实现一个计算加速Demo,对Vitis开发优化有个大概的了解。
教程目录总览
注意事项
- 要进行本实验最好准备一台高性能台式机,下面基于Ubuntu 18.04为例进行介绍(最好环境一致);
- 建议使用Vitis 2020.1版本(注意时效性);
- 没有对应的板卡也可以跑大部分仿真;
- 也可以在官方服务器上跑,不过需要申请,好像比较麻烦;
- 本文是个导览性的内容,仅供参考,具体可见Compute Acceleration教程。
1 主要内容简介
1.1 视频教程
官方视频教程,虽然个人没有看,但质量肯定不错。
1.2 动手实验室
下面是各个Lab的简介,具体可以看原文操作,并做实验体验下。
-
Introduction to Vitis Part 1:基本的工程创建流程;
-
Introduction to Vitis Part 2:介绍各个分析报告的含义,了解Vitis分析仪,方便找出速度瓶颈;
-
Improving Performance Lab:这个通过修改DDR的使用,来提高效能;
-
Optimization Lab:这个主要是分析源码组成,对整体有个宏观的认识,然后修改代码优化策略,观察性能提升效果。从下图的对比也可以看出,优化策略的使用大幅提升计算效率;
1.3 高级主题
- RTL Kernel:说明如何建立一个RTL内核用于Vitis开发;
- Hardware Debugging:RTL Kernel教程的延续,主要说明ChipScope调试内核的使用;
- Streaming:一个具体的转置的FIR带通滤波器的实现以及实现分析(建议使用U280仿真,以及修改对应的linking.cfg中的DDR[2]为DDR[1]);
1.4 附加资源
其中最推荐的是Vitis_Libraries,在各个领域都有丰富的加速Demo,进阶之路全靠它们了!
2 开发环境配置
2.1 Vitis安装
从官网下载安装包,并解压安装
tar -axvf Xilinx_Unified_2020.1_0602_1208.tar.gz
cd Xilinx_Unified_2020.1_0602_1208/
./xsetup
如在安装遇到如下问题
如果想了解具体解决方案,可见如下链接的讨论Installation of Vivado 2020.1 under Centos 7.8 fails,然后使用如下命令行配置安装。
./xsetup -b AuthTokenGen
./xsetup -b ConfigGen
./xsetup --batch Install --agree XilinxEULA,3rdPartyEULA,WebTalkTerms --location /tools/Xilinx/ --config "/home/sazc/.Xilinx/install_config.txt"
注:配置文件位置为个人的,需要替换。
2.2 实验环境安装
三个文件均需下载安装,具体安装方式可以见UG1301
首先安装xrt
sudo apt install ./xrt*.deb
随后按照提示修复安装依赖即可
sudo apt --fix-broken install
然后安装另外两个包
sudo apt install ./xilinx*.deb
完成之后需要额外安装opencl-headers
sudo apt install opencl-headers
否则会出现如下问题,导致不可以正常编译工程
2.3 环境变量配置
如果这部分出问题,可能是因为bash与dash的原因,具体可以参照Linux shell语言——dash和bash
source /opt/xilinx/xrt/setup.sh
source $XILINX_VITIS/settings64.sh
export PLATFORM_REPO_PATHS=$ALVEO_PLATFORM_INSTALLATION_DIRECTORY
另外在硬件仿真,需要导出如下环境变量,并重启Vitis,否则会编译不通过。
export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu
如果想了解具体解决方案,可见如下链接的讨论recipe for target ‘binary_container_1.xclbin’ failed make: *** [binary_container_1.xclbin] Error 1
2.4 开始Demo
最后新建工程的时候在如下链接添加平台即可(之前安装U200平台的默认位置)(有个环境变量,没找到合适的配置方式)。
如下是成功的硬件仿真截图,具体分析可以见官方链接。
原创不易,严禁剽窃!
欢迎大家关注我创建的微信公众号——小白仓库
原创经验资料分享:包含但不仅限于FPGA、ARM、RISC-V、Linux、LabVIEW等软硬件开发,另外分享生活中的趣事以及感悟。目的是建立一个平台记录学习过的知识,并分享出来自认为有用的与感兴趣的道友相互交流进步。