从零开始硬件加速(一)
软件安装
Vitis是Xilinx推出的一款统一软件平台,软件平台包括:
- 全面的内核开发套件,可无缝构建加速应用
- 完整的硬件加速开源库,针对 AMD FPGA 和 Versal™ ACAP 硬件平台进行了优化
- 插入特定领域的开发环境,可直接在熟悉的更高层次框架中进行开发
- 不断发展的硬件加速合作伙伴库和预建应用生态系统
- Vitis Model Composer 是一款基于模型的设计工具,支持在MathWorks MATLAB® 和 Simulink® 环境中进行快速设计探索和验证,并加速 AMD 器件的量产。
- Vitis Networking P4 允许创建软定义网络。VitisNetP4 数据平面构建器生成的系统可以针对从简单的数据包分类到复杂的数据包编辑的各种数据包处理功能进行编程。
目前软件发行了Windows和Linux两个版本,Windows主要针对硬件开发用户,而如果需要使用完整的AI硬件加速的完整功能,只能在Linux下实现,因此以下案例均以Linux为平台开发。
Linux安装
开发环境选择VMware作为虚拟机,需要注意是的petalinux2018.3只支持ubuntu2018.3,之后的版本由于python工具包版本总是出问题,如果选择petalinux2018.3那么必须选择ubuntu2018.3,
petalinux之后的版本支持全系列ubuntu版本。理论上支持centos环境,但是需要打很多驱动比较繁琐,此处就不折腾了。下载ubuntu 推荐上官网,此处选择版本ubuntu22.04 LTS (Long Tern Support)
,顾名思义软件安装包将得到更长的支持。
下载好Ubuntu镜像后在VMware中创建虚拟机。
然后选择此处稍后安装操作系统。
选择正确的Ubuntu系统。
选择虚拟机名称和安装路径,需要注意的是虚拟机名称不是Ubuntu的User名,而是VMware中看到的名称,一个用户可能安装多个虚拟机,以此作为区分。
选择虚拟机的大小(后期发现200g的磁盘空间根本不够用,Vitis2022软件相比之前版本大了很多,建议至少500G往上),建议将虚拟机文件存储为单个文件,这样容易维护。
根据自己电脑的性能分配虚拟机的内存和处理器的多少,然后在CD/DVD处选择下载好的Ubuntu镜像。
之后打开虚拟机即可安装Ubuntu**。
语言选择建议选择英文,整个虚拟机中不需要出现中文。
建议将安装Ubuntu时更新去掉。
清除整个磁盘,这边直接选择清除,磁盘空间本来就是VM刚创建的空间,没有文件。
创建用户,设置密码,然后进入各种包的安装环节,直接安装即可。
Ubuntu换源
Ubuntu的服务器在国外,因此下载速度很慢,可以更换国内源。国内有很多Ubuntu的镜像源,包括阿里的、网易的,还有很多教育网的源,比如:清华源、中科大源。镜像源一定要下载一定的Ubuntu
版本比如本案例使用的Ubuntu 22.04。此处使用清华源:
1 | # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 |
安装步骤如下:
- 备份原始源文件
- 修改源文件权限
- 更换源
- 源更新
1 | sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #将默认源镜像备份 |
将所有默认源删除后,添加上方清华源,然后执行:
1 | sudo apt update # 源更新 |
Ubuntu22.04不兼容VMtools
Ubuntu 22.04默认安装了VMtools,因此安装完成后可以实现虚拟机的分辨率缩放,但是无法实现win和虚拟机之间文件互传拖拽问题。解决方案如下:
先卸载自带的VMtools:
1 | sudo apt-get --purge remove open-vm-tools ##完全卸载open-vm-tools |
然后重新安装VMtools
1 | sudo apt-get install open-vm-tools ##重新安装open-vm-tools |
启动VMtools服务
1 | systemctl start open-vm-tools.service ##启动VMtools服务 |
设置VMtools开机自启
1 | systemctl enable open-vm-tools.service ##设置Vmtools开机自启 |
检查VMtools状态
1 | systemctl status open-vm-tools.service ##检测Vmtools状态 |
如果两个都是enable都是打开状态下,则表示服务已经开启。
安装完成后发现分辨率自适应正常,但是还是无法拖拽文件。接下来则需要安装两个文件实现。
1.gnome-shell-extension-prefs
2.nemo
首先在Terminal输入一下命令安装两个软件:
1 | sudo apt install gnome-shell-extension-prefs |
然后打开extension将Desktop icons NG选项关闭。
然后打开start application preference添加如下命令:
安装完成后reboot,然后发现可以首先虚拟机和Windows之间互相拖拽传文件。
Vitis安装
Vitis安装同样推荐官网安装。此处记得选择软件开发者,硬件开发者的功能在Windows下即可实现,而大多数和AI加速相关的功能只能在Linux下实现。
一定要下载Linux版本,而且是Bin版本。
安装完成后将Bin文件拖拽到虚拟机,然后打开Terminal运行:
填写Xilinx账号和密码:
选择Vitis,如果想要实现完整的功能必须安装Vitis。
版本安装Vitis和Vivado是必须的,然后器件推荐Versal ACAP去掉,这个型号器件不太常用。
1 | ########################### Synopsys ############################### |