Ubuntu 20.04の環境でVitis AI 3.0をインストールしました。
※追記_Vitis AI 3.5でも同様にインストールできることを確認しています
PyTorch版のCPUとGPUの両方のdocker環境を整えています。
docker環境構築からインストールまでのメモを紹介します。
Vitis AI 3.0でpytorchのCPUとGPUの環境を構築したメモ
Vitis AI 3.0をインストールしました。
※追記_Vitis AI 3.5でも同様にインストールできることを確認しています
Pytorch版のCPUとGPUの両方のdocker環境を整えています。
docker環境構築からインストールまでの流れを紹介します。
Ubuntu 20.04
Vitis AI 3.0のシステム要求(system_requirements)が下記に記載されていました。
https://xilinx.github.io/Vitis-AI/docs/reference/system_requirements.html
OSは「Ubuntu 20.04」ということでした。
筆者のPC環境も「Ubuntu 20.04」で実施しています。(22.04でも動くと思いますが…)
PC環境
PC環境は下記となります。
- CPU…Core i5 6400
- GPU…NVIDIA GeForce GTX 1650(メモリ4GB)
- メモリ…16GB
- SSD…1000GB
UbuntuとCUDA環境は下記になります。
Vitis AI 3.0ではCUDA Version…11.3以上が要求されています。
- Ubuntu…20.04
- CUDA Version…12.0 ※Driver Version…525.85.12
TensorFlow2,PyTorch(フレームワーク)で手順が違います
Vitis AI 3.0から各フレームワーク(TensorFlow2,PyTorch)でdocker環境が分かれています。
git clone以降のpullや起動コマンドなどが異なってきます。ご注意ください。
下記の公式のインストール手順に沿って実施しています。(今回はPyTorch)
https://xilinx.github.io/Vitis-AI/3.5/html/docs/install/install.html
docker環境が分かれたことで、Ver 2.5時と比べてファイルサイズも小さくなっています。
GPU環境のビルド時も、PCメモリ16GBで対応出来ました。
※Vitis AI 2.5の時は、ビルド時PCメモリが32GB程度必要でした。(下記記事参照)
Vitis AIでdocker_build_gpu.shが失敗するメモ
dockerの環境をインストールする
Vitis AIではdocker環境が必要となります。(Ver2.5の時と同様です。)
VItis AI 2.5やPetaLinuxなどインストールしてみたメモ
https://misoji-engineer.com/archives/vitisi-ai-2-5.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io sudo docker run hello-world sudo usermod -aG docker $USER docker --version |
Vitis AIをgit cloneする
公式のGitHubのリンク先は下記となります。git cloneでダウンロードします。
https://github.com/Xilinx/Vitis-AI
1 |
git clone https://github.com/Xilinx/Vitis-AI |
Vitis AI 3.0 pytochのCPU版の環境構築する
Vitis AI のフォルダに移動して、PyTorchのCPU版のdocker環境をpullします。
※各フレームワーク、CPU/GPUの違いでpullの仕方が異なります。
pull後はスクリプトを使って起動出来ます。
1 2 3 4 |
cd Vitis-AI/ docker pull xilinx/vitis-ai-pytorch-cpu:latest docker images ./docker_run.sh xilinx/vitis-ai-pytorch-cpu:latest |
docker imagesで確認するとイメージ容量は約10GB程度でした。
1 2 3 4 |
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE xilinx/vitis-ai-pytorch-cpu latest 8b2d3517c0a9 6 weeks ago 9.88GB hello-world latest feb5d9fea6a5 17 months ago 13.3kB |
Vitis AI 3.0 pytochのGPU版の環境構築する
Vitis AIのGPU版を使うためにはCUDAの環境構築しておく必要があります。
下記記事でUbuntu20.04とCUDA環境について紹介しています。
Ubuntu 20.04にGPU+CUDA環境を構築したメモ
GPU版に関してですがpytorchでも2種類あります。
AI Optimizerという機能を含むか含まないかで分かれているようです。
追記 Vitis AI 3.5ではAI Optimizerという機能がデフォルトで入っています。
詳しくは公式のインストール手順を参考ください。
https://xilinx.github.io/Vitis-AI/docs/install/install.html
- PyTorch with AI Optimizer CUDA-gpu … opt_pytorch
- PyTorch CUDA-gpu … pytorch
種類によって、ビルド/RUNのスクリプト実行時の引数が異なります。
特にAI Optimizerを使う予定も無いですが、全て網羅してそうな?前者を選びました。
ビルド後は問題なく、GPU版を実行できました。
もしdocker imageでgpu版のlatestがなければ、TAGのVerを入力すれば実行できます
1 2 3 4 5 6 7 |
cd Vitis-AI/docker/ ./docker_build.sh -t gpu -f pytorch cd .. docker images ./docker_run.sh xilinx/vitis-ai-pytorch-gpu:latest #./docker_run.sh xilinx/vitis-ai-pytorch-gpu:3.5.0.001-fea018284 |
dockerのファイルサイズ確認すると、合計で35GB程度でした。
1 2 3 4 5 6 7 |
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE xilinx/vitis-ai-opt-pytorch-gpu 3.0.0.001 5ea715bb2630 14 minutes ago 13.5GB xilinx/vitis-ai-opt-pytorch-gpu latest 5ea715bb2630 14 minutes ago 13.5GB xiinx/vitis-ai-gpu-base latest 6a781b8fad57 31 minutes ago 5.97GB xilinx/vitis-ai-pytorch-cpu latest 8b2d3517c0a9 6 weeks ago 9.88GB hello-world latest feb5d9fea6a5 17 months ago 13.3kB |
Vitis AIのGPU版インストールフォルダを環境変数を追加しておいた方が良いです。
「~」箇所は各自で保存した場所です。下記追記しておけば、毎回入力せずに済みます。
sudo vim ~/.bashrc
1 2 |
export VITIS_AI_HOME="~/Vitis-AI" export CUDA_HOME=/usr/local/cuda |
NVIDIA-Container-Toolkitをインストールする
docker上でNVIDIAを使う場合は、コンテナへのToolkitもインストールします。
既にインストール済で、正常にVitis AIのGPU版が動作した場合は読み飛ばしてください。
恐らくインストールしないと、dockerで動かすとき下記のようなエラーが出ます
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
1 2 3 4 5 6 |
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - 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 && sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker |
nvidia-container-cli info で正常にインストールされたか確認できます。
1 2 3 4 5 6 7 8 9 10 11 |
$ nvidia-container-cli info NVRM version: 525.85.12 CUDA version: 12.0 Device Index: 0 Device Minor: 0 Model: NVIDIA GeForce GTX 1650 Brand: GeForce GPU UUID: GPU-c0f4fe80-6a26-e299-b0d7-7115cde7755d Bus Location: 00000000:01:00.0 Architecture: 7.5 |
まとめ
Ubuntu 20.04の環境でVitis AI 3.0をインストールできました。
PyTorch版のCPUとGPUの両方のdocker環境構築できています。
ぜひ皆さまもVitis AI 3.0をインストールしてみて下さい。
コメント