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をインストールしてみて下さい。
  
  
  
  

コメント