카테고리 없음

Docker 환경설정

yooom 2024. 12. 31. 11:39

 

 

https://github.com/PSAL-POSTECH/ONNXim

 

GitHub - PSAL-POSTECH/ONNXim: ONNXim is a fast cycle-level simulator that can model multi-core NPUs for DNN inference

ONNXim is a fast cycle-level simulator that can model multi-core NPUs for DNN inference - PSAL-POSTECH/ONNXim

github.com

sudo apt update
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker
newgrp docker

으로 docker 설치 및 초기화

 

권한 부여가 안된다면 아래 코드로 권한 부여

sudo chmod 666 /var/run/docker.sock
git clone https://github.com/PSAL-POSTECH/ONNXim.git 
cd ONNXim
docker build . -t onnxim

으로 코드와 docker image를 불러온다

 

 

이제 volume을 만들어서 docker와 local폴더를 연결하자

local 폴더에 연결됐는지 확인하기 위해서 프로젝트 파일 몇 개를 수정해보자

해당 깃허브 readme 에서는 다음 코드를 이용해서 시뮬레이션을 할 수 있다고 한다.

./build/bin/Simulator --config ./configs/systolic_ws_128x128_c4_simple_noc_tpuv4.json --model ./example/models_list.json

 

/systolic_ws_128x128_c4_simple_noc_tpuv4.json

/models_list.json

파일을 복사해서 custom을 붙인 파일을 새로 생성해두자.

 

 

volume 이름은 임의로 simul 이라고 정의했다.

docker volume create simul

 

다음 코드로 volume이 생성됐는지 확인할 수 있다.

docker volume ls

삭제는 다음 코드로 작성하면 된다

docker volume rm simul

만약 삭제가 안된다면 마운트된 컨테이너를 먼저 삭제해야한다.

 

 

 

docker에서는 /workspace/ONNXim 에 접근하면 파일들이 있고

로컬에서는 home/yumin/ONNXim에 접근해서 파일들이 있다. (pwd로 현재 폴더를 볼 수 있다.)

docker의 workspace 하단에 mylocal 폴더를 새로 만들어서 로컬의 home/yumin/ONNXim 와 연결하자

(만약 docker의 /workspace/ONNXim와 로컬의 home/yumin/ONNXim를 마운트 하면 docker의 모든 파일들이 덮어씌워져서 사라진다.)

docker run -it -v /home/yumin/ONNXim:/workspace/mylocal onnxim bash

이 명령어는 : 를 기준으로 왼쪽이 로컬, 오른쪽이 도커다.

docker run -dit -v /home/yumin/ONNXim:/workspace/mylocal --name onnxim-dev onnxim bash
docker start onnxim-dev

이렇게 백그라운드 실행을 할 수도 있다.

 

 

앞으로 도커에 접근할 때마다 이렇게 접근하면 된다.

 

파일이 잘 실행되는지 보자

./ONNXim/build/bin/Simulator --config ./mylocal/configs/custom_systolic_ws_128x128_c4_simple_noc_tpuv4.json --model ./mylocal/example/models_list.json

이렇게 작성하면 도커에만 존재하는 build 폴더에 접근할 수 있다.

 

728x90