본문 바로가기
[VITIS-AI]

[Vitis-AI] Vitis-AI 다운로드 및 환경설정 (1)

by choice1219 2020. 2. 5.

안녕하세요. Verilog 입니다.

 

오늘부터 Vitis AI Library를 통해 Deep Learning 알고리즘을 Zynq 보드에서 구현하는 것에 대해 포스팅 하려고 합니다.

 

먼저, 저의 실험 환경은 아래와 같습니다.

 

Zynq-Board: ZCU-102 / ZCU-104 Board (MPSOC)

Host PC: Ubuntu 16.04 LTS

 

Zynq보드는 ARM-Processor(SW)와 FPGA(HW)로 이루어진 보드로 무거운 연산은 FPGA(HW)에서 수행하며, 하드웨어로 구현이 어려운 부분은 ARM-Processor(SW)에서 구현할 수 있게 구성되어 있습니다.

 

1. 먼저, Ubuntu PC에서 Vitis-AI 폴더를 받아보겠습니다.

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

 

 

2. Docker 설치

- Docker의 종류는 2가지가 있습니다. (tool / runtime)

- tool docker는 Deep Learning 모델을 Quantization 및 Complie해서 FPGA에서 수행 가능한 .elf 파일 생성하는데 쓰입니다.

- runtime docker는 위에서 생성한 .elf파일을 이용하여 ARM-Processor에서 구현 가능한 코드를 컴파일 하는데 사용됩니다. 

 

2.1. Docker Repository 추가

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" 
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-get update && sudo apt install docker-ce docker-ce-cli containerd.io

 

 

 

2.2. Nvidia Docker Rntime 설치

curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \     
   sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \
   sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update
sudo apt-get install nvidia-container-runtime

 

 

2.3. Docker Config 파일 수정

sudo systemctl edit docker

 

 

- 이후, 뜨는 창에서 아래 코드를 추가 후 종료

[Service] 
ExecStart= 
ExecStart=/usr/bin/dockerd --group docker -H unix:///var/run/docker.sock --add-runtime=nvidia=/usr/bin/nvidia-container-runtime

 

 

- Daemon과  Docker 재실행

sudo systemctl daemon-reload
sudo systemctl restart docker

 

 

3. Group Docker 설정

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker 
docker run hello-world

 

 

4. CPU tool docker

현재 폴더 위치가 1번에서 다운받은 Vitis-AI 폴더안에 들어와있는지 확인한 후, 아래 명령어를 수행합니다. 

./docker_run.sh xilinx/vitis-ai:tools-1.0.0-cpu

 

 

- 4번까지 완료가 되었다면 다음 사진과 같은 화면이 뜹니다.

 

다음 포스팅에서는 tool docker를 통해서 AI-quantizer / AI-Compiler를 사용하는 방법에 대해서 이야기할 예정입니다. 

 

참고: Vitis-ai-github (https://github.com/Xilinx/Vitis-AI)