데이터 센터

연세대학교 인공지능융합대학


사용법 안내

Total 1건 1 페이지
사용법 안내 목록
번호 제목 작성일
1

Singularity

  • 과학 및 애플리케이션 기반 워크로드 와 HPC 클러스터 환경에 최적화 된 컨테이너 솔루션 입니다.
  • Docker 저장소의 이미지를 사용할 수 있습니다.
  • 내려 받은 이미지는 사용자의 HOME 디렉토리에 저장 됩니다.
  • Docker 에 의한 권한상승 문제가 발생하지 않습니다.
  • 권한상승 문제가 없는 대신 Singularity 이미지를 직접 수정할 수 없습니다. (docker 를 통해서 수정후 다시 build 해야 함)

1. Singularity 기본 명령

# 이미지 생성(build) - (docker 의 pull 과 동일함.) / .simg == Singularity Image
singularity build ~/tf-1.11-gpu-py3.simg docker://tensorflow/tensorflow:1.11.0-gpu-py3

# 다운로드 된 이미지 파일 확인.
ll -trh ~/tf-1.11-gpu-py3.simg
file ~/tf-1.11-gpu-py3.simg

# 이미지 실행(exec) (singularity 의 경우 home 디렉토리는 기본으로 mount 됩니다.)
singularity exec ~/tf-1.11-gpu-py3.simg pwd
singularity exec ~/tf-1.11-gpu-py3.simg ls -l

singularity exec ~/tf-1.11-gpu-py3.simg pip list | grep tensor

# 코드 실행. (--nv 옵션 = GPU 사용)
singularity exec --nv ~/tf-1.11-gpu-py3.simg \
python ~/TensorFlow-Examples/examples/3_NeuralNetworks/neural_network_raw.py

# 볼륨 마운트 (예를 들어. /datasets)
singularity exec --nv -B /datasets:/datasets   ~/tf-1.11-gpu-py3.simg ls -l /datasets

2. bash 스크립트 (Script) 파일로 만들어서 실행

cat << EOF > ~/singularity-py3-example.sh
singularity exec --nv ~/tf-1.11-gpu-py3.simg \
python ~/TensorFlow-Examples/examples/3_NeuralNetworks/neural_network_raw.py
EOF

cat ~/singularity-py3-example.sh

bash ~/singularity-py3-example.sh

3. Singularity 로 python jupyter-notebook 열기. (x11forwading 사용)
  • Singularity 를 이용한 jupyter-notebook 은 x11forwading 이용해 웹브라우져로 접속해야 합니다.
  • login 노드에서는 x11forwading 을 사용할 수 있지만, 일반 계산 node 에서는 x11forwading 이 지원되지 않아 계산 작업에는 사용할 수 없습니다.
  • login 노드에서 간단한 디버깅(debug) 용도로만 사용할 수 있겠습니다.

# tensorflow-notebook 이미지 build (docker hub 에서 download)
singularity build ~/tensorflow-notebook.simg docker://jupyter/tensorflow-notebook

# 이미지 에서 실행된 jupyter-notebook 에 접속하기 위한 웹브라우져 실행.
## & == 명령이 실행된 후에도 커맨드를 입력할 수 있게함. (백그라운드 작업)
## x11forwading 환경이 구성되어 있어야 함.
firefox &

# 작업이 실행 중인지 확인.
jobs

# singularity image 에서 load 된 module을 사용할 수 있도록 /opt/ohpc 를 볼륨으로 마운트 해줍니다.
## 볼륨으로 마운트 하지 않았을 경우 cuda 라이브러리를 불러 올수 없다는 오류가 발생 합니다.
singularity exec --nv -B /opt/ohpc:/opt/ohpc/ tensorflow-notebook.simg start-notebook.sh

# 화면에 출력된 copy and paste one of these URLs 아랫줄의 웹페이지 주소를 복사하여 웹브라우져에 붙여 넣습니다.

# 작업이 끝나면 Control + C 를 눌러서 종료 시킵니다.