데이터 센터

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


사용법 안내

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

Module

1. Module 이란

클러스터에 설치된 공유 프로그램을 사용하기 위해서 사전에 정의된 환경변수(PATH)를 불러오거나(load) 전환(swap) 할 수 있는 도구 입니다.

  • https://modules.readthedocs.io/en/latest/
  • 클러스터 에서 사용할 수 있는 디스크 용량이 한정적 이기 때문에 사용 가능한 공유 프로그램이 있다면 활용하는 것이 좋습니다.
  • 또한 anaconda 같은 도구에서 제공되지 않는 프로그램을 관리자에게 설치 요청하여 사용할 수 있습니다.
2. 현재 사용중인 용량과 가능한 용량 확인

# anaconda 설치 용량 확인.
du -h -d 0 ~/anaconda3/

# home directory 전체 용량 확인.
df -hT /home

# 할당된(quota) 용량 확인
ssh MASTER '/usr/sbin/xfs_quota -xc "quota -h $USER"'

3. module 명령어

module

# module list == ml
# module avail == ml av
# 현재 load 되어 있는 module 목록
ml list

# 사용 가능한 module 목록
ml av

# 일부 module 내리기
ml unload cuda
ml list

# 모든 module 내리기(all unload)
ml purge
ml list

# module 올리기 (load)
ml load ohpc # ohpc == default load module name
ml # ml == ml list or module list

# 일부 moudel 바꾸기 (swap)
ml
ml av

ml swap cuda/11.2 cuda/9.0
ml

# module 의 상세 정보 출력
ml show ohpc
ml show cuda/9.0

4. module 사용 예 (컴파일러 버젼 변경)행

1) cuda / nvcc
ml purge
ml

which nvcc ; echo ; nvcc -V

ml av | grep cuda
ml load cuda/9.0

which nvcc ; echo ; nvcc -V

ml swap cuda/9.0 cuda/11.2
which nvcc ; echo ; nvcc -V

2) gnu / gcc

ml purge
ml

which gcc ; echo ; gcc --version

ml av | grep gnu
ml load gnu/5.4.0

which gcc ; echo ; gcc --version

ml swap gnu/5.4.0 gnu7
ml

which gcc ; echo ; gcc --version

3) 환경변수(PATH, env) 의 변화 확인
ml purge
echo $PATH

ml load gnu/5.4.0
echo $PATH

env | grep PATH

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

cat << EOF > ~/module_test.sh
module purge
module load cuda/9.0

echo
which nvcc ; echo

nvcc --version ; echo
EOF

cat ~/module_test.sh

bash ~/module_test.sh

## 스크립트에서 실행된 결과와 비교.
which nvcc ; echo

nvcc --version ; echo

6. 로그인시 module 기본 환경 구성 (bashrc / rc = Run command)
  • ~/.bashrc 파일에 module swap cuda/9.0 cuda/11.2 를 추가 하면 로그인 할때마다 해당 환경이 기본으로 load 됩니다.
  • ## 홑화살괄호 를 반드시 2개 '>>' 넣어야 합니다. 1개만 넣으면 파일에 있던 기존 내용이 삭제되고 덮어씌워 집니다.

cat << EOF >> ~/.bashrc

# User Custom Module
module swap cuda/11.2 cuda/9.0
module unload gnu/5.4.0

EOF

cat ~/.bashrc

exit

# Re-login

module list

which nvcc