본문 바로가기
연구 노트/개발환경 구축

듀얼 또는 다중 GPU 각각 따로 사용하는 딥러닝 환경만들기

by 피에치 2021. 11. 19.
반응형

Dual GPU 사용시 NVLink 등으로 묶거나 상호 교차 계산(multi-tasking) 하지 않고, 두 개의 프로그램을 각각 다른 GPU에서 독립적으로 분업으로 실행시키고자 할 때의 환경을 만드는 방법이다. 

 

1. Anaconda prompt 에서 가상환경 만들기

여기서는 gpu_0와 gpu_1 두 개의 가상환경을 만든다. 

  • 아래 그림 처럼 (base) conda create -n gpu_0 실행
  • Proceed [y]
  • gpu_1에 대해서도 (base) conda create -n gpu_1 도 실행 

2. 각각 가상환경에서 커널 연결

각 가상환경(gpu_0, gpu_1)에서 아래 명령어 실행

python -m ipykernel install --user --name [가상환경 이름] --display-name "[커널이름]"

만약, 아나콘다 가상 환경에 주피터 노트북 등의 패키지를 설치할 때는 pip 대신 conda를 사용해야 합니다. 만약 pip를 사용하면 ~/Anaconda3/Lib/site-packages 에 패키지가 저장되므로 주의.

3. jupyter notebook 에서 생성된 커널 확인

아래 그림 처럼,Kernal > Change kernel 에서 GPU_0, GPU_1 생성된 것을 확인 

커널 삭제 방법

(gpu_0) jupyter kernerlspec uninstall gpu_0

 

 

4. 파이썬 프로그램에서 각 커널이 따로 사용할 GPU 번호 지정

각 가상 커널에서 GPU 사용할 GPU 번호를 지정해 준다.

5. GPU에서 실제 작동 여부 확인

아래 그림과 같이, 현재 GPU 전용 메모리는 둘 다 사용되지 않고 있음. 

딥러닝 코드 실행

아래 그림 처럼, 각 GPU가 따로 돌아가는 것을 볼 수 있음.

 

6. 분업 속도 확인 

본 예제에서는 아래 그림처럼 각자 4초 정도 시간이 소요되었다. 

 

 

주의:

각각의 가상환경으로 설정하지 않거나 설정이 잘 못 된 경우, 계산 도중 예전 데이터를 Disk에 Overwrite 할 것인지 Reload 할 것인지 계속 묻는다. 이는 하나의 가상환경에서 두개의 GPU를 따로 지정해서는 분업이 이루어지지 않는 상태라는 말임. 

 

링크:

딥러닝 TensorFlow-GPU 설정 방법은 아래 링크를 참조

 

딥러닝 TensorFlow 텐서플로 GPU 설치 한방에 끝내기 1 (윈도우)

TensorFlow-GPU 버전을 사용하기 위한 시스템 구축을 설명하고 있음. TensorFlow-CPU 버전의 경우, 바로 아래 문서로 가서 Anacona 설치부터 하면 됨. TensorFlow GPU 딥러닝 개발 환경 구축 2 (윈도우) TensorFlo..

aeir.tistory.com

 

728x90
반응형