Vitis AI 3.0でPyTorchのCPUとGPUの環境を構築したメモ

本サイトはアフィリエイト広告を利用しています。
AI

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などインストールしてみたメモ

VItis AI 2.5やPetaLinuxなどインストールしてみたメモ
Vitis AIの最新版2.5やPetaLinuxインストールしてみました。 ダウンロードからの一連の流れを簡単に紹介します。
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

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

 

Vitis AI 3.0 pytochのCPU版の環境構築する

Vitis AI のフォルダに移動して、PyTorchのCPU版のdocker環境をpullします。

※各フレームワーク、CPU/GPUの違いでpullの仕方が異なります。

pull後はスクリプトを使って起動出来ます。

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程度でした。

$ 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環境を構築したメモ

Ubuntu 20.04にGPU+CUDA環境を構築したメモ
デスクトップPCのUbuntuを18.04→20.04に入れ直しました。 OS入れ替えましたので、GPU+CUDAの環境も再度対応しました。 CUDA Toolkit 12.0をインストールした内容を紹介します。 Ubuntu 20.04に...

 

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を入力すれば実行できます

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程度でした。

$ 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

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]].

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 で正常にインストールされたか確認できます。

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

 

コメント