Xilinx Ubuntu环境下docker&Vitis AI 3.0基于GPU的环境安装

Xilinx Ubuntu环境下docker&Vitis AI 3.0基于GPU的环境安装

图1 Visiti AI用户开发环境需求

Xilinx官网Vitis AI入门指南
Xilinx Github Vitis AI资料
首先参考官网资料中的入门部分进行环境设置,显卡驱动如何安装这里就不作介绍了。
1.克隆 Vitis AI 存储库以获取示例、参考代码和脚本。

git clone https://github.com/Xilinx/Vitis-AI 
cd Vitis-AI


2.安装 Docker。
    这里不建议参考官方链接给出的官方Docker文档,我用其中的Ubuntu版本的apt-get install指令和用.deb安装包的方式都无法完成相关依赖库的安装,具体过程可以参考下面。

#第一步,先卸载旧版,如果没有的话,就不用执行了,直接第二步。
apt-get remove docker docker-engine docker.io containerd runc

#第二步,更新软件源,安装依赖库
apt update
apt-get install ca-certificates curl gnupg lsb-release

#第三步,安装证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

#第四步,写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

#第五步,安装
sudo apt-get install docker-ce docker-ce-cli containerd.io

#第六步,启动
systemctl start docker

#第七步,安装工具
apt-get -y install apt-transport-https ca-certificates curl software-properties-common

#第八步,重启docker
service docker restart

#第九步,测试
sudo docker run hello-world 

    若测试成功,则结果如下图所示。

图2 测试成功

#第十步,查看docker版本
sudo docker version

#第十一步,查看镜像,可以看到刚才创建的镜像
sudo docker images

图3 查看生成hello-world的镜像


3.下一步添加 Linux 用户包含在 Docker 组中。

#1.Create the docker group.
sudo groupadd docker
#2.Add your user to the docker group.
sudo usermod -aG docker $USER
#3.更新docker
newgrp docker

#4.Verify that you can run docker commands without sudo.
docker run hello-world

    如果不加sudo执行成功上述代码的最后一句,说明成功。



4.构建工作容器。
    官方意思是我们可以使用预构建的容器,也可以从脚本中构建容器。预构建的容器不支持支持CUDA的GPU,因此开发人员必须从脚本构建容器。
    定位到Vitis AI安装路径中的docker子目录:

#Vitis-AI install path>表示你安装Vitis AI的路径
cd <Vitis-AI install path>/Vitis-AI/docker

    按如下方式执行脚本:./docker_build.sh -t <DOCKER_TYPE> -f <FRAMEWORK>

    支持的生成选项包括:

图4 支持生成的指令合集
    例如,开发人员可以使用以下命令来构建支持Vitis AI Optimizer的Pytorch CUDA GPU docker,本文也是使用这条指令构建了一个容器。
cd <Vitis-AI install path>/Vitis AI/docker
./docker_build.sh-t gpu-f opt_pytarch

    注意!!!opt_pytorch这个容器只能够实现量化的操作,不能够实现编译!如果用这个容器编译量化后的Xmodel,会报错”vai_c_xir:Command not found”。

    想要编译pytorch框架下的容器,我们应该再创建一个pytorch的gpu版本的容器,指令如下

cd <Vitis-AI install path>/Vitis AI/docker
./docker_build.sh-t gpu-f pytarch

    如果以上两个命令报错failed,可以多尝试几次,因为脚本中的下载源为Ubuntu自己的源,不是国内的源。有能力可以自己修改脚本中关于源的设置提高下载速度,这里就不细讲了。



5.为了在docker中使用GPU,需要安装安装nvidia-container-toolkit。(官方参考文档一开始就会要求安装这个,但是有可能报错)

#第一步,添加nvidia-docker的源
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

#第二步,安装nvidia-container-toolkit
sudo apt-get install -y nvidia-container-toolkit

#第三步,重启docker
sudo systemctl restart docker

    如果Docker已启用支持CUDA的GPU,请执行以下命令进行最终测试,以确保GPU可见,最终生成如下图所示类似的界面:

docker run --gpus all nvidia/cuda:11.3.1-cudnn8-runtime-ubuntu20.04 nvidia-smi

图5 生成类似的界面


6.现在可以使用以下命令启动Vitis AI的Docker:

#<Vitis-AI install path>表示你安装Vitis-AI的路径
cd <Vitis-AI install path>/Vitis-AI
#选择你之前安装的框架来执行下述命令
#如本文案例./docker_run.sh xilinx/vitis-ai-opt-pytorch-gpu:latest
./docker_run.sh xilinx/vitis-ai-<pytorch|opt-pytorch|tensorflow2|opt-tensorflow2|tensorflow>-<cpu|gpu|rocm>:latest

    生成如下界面,一堆协议许可,最后填y。

图6 同意许可

    然后就会生成如下的界面了^ _ ^

图7 Vitis AI安装完成

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年11月10日
下一篇 2023年11月10日

相关推荐