# 세줄요약 #
- NVIDIA GPU driver와 CUDA가 설치되어있는지 확인 한다. [nvidia-smi, nvcc -V]
- 텐서플로 라이브러리에서 device_lib 모듈을 이용하는 방법: >>> [device_lib.list_local_devices()]
- 텐서플로 라이브러리에서 config 모듈을 이용하는 방법: [>>> tf.config.list_physical_devices()]
# 상세 리뷰 #
1. 먼저 리눅스에서 NVIDIA GPU driver와 CUDA가 설치되어있는지 확인해야 한다.
nvidia-smi
- [>>> nivida-smi] 명령어를 사용하면 위 그림과 같이 Driver Version과 CUDA Version을 확인하고 아래에서 해당 리눅스 서버에 설치된 GPU들을 목록으로 확인할 수 있다.
- 각 GPU별로 제품명, GPU 사용량, GPU 메모리 등을 확인할 수 있다.
- GPU 목록들 아래에는 현재 사용중인 GPU를 사용하는 Process들을 확인할 수 있다(예제로 보여준 그림에서는 현재 사용중인 Process가 없으므로 'No running processess found'라는 메시지가 보인다).
nvcc -V
- [>>> nvcc -V] 명령어를 사용하면 해당 리눅스 서버에 설치된 CUDA만 따로 확인가능하다.
2. NVIDIA GPU driver와 CUDA가 설치되어 있으므로 이제 텐서플로가 정상적으로 GPU를 잡고 있는지 확인하면 된다.
- 아래의 두 방법 모두 텐서플로를 사용하기에 파이썬 콘솔에서 명령을 해야한다.
- 따라서 터미널 상에서 [>>> python] 명령어를 사용하여 파이썬 터미널로 들어가거나, IDE 툴 등을 사용하여 파이썬 콘솔을 켜준다.
python
- 당연한 이야기지만 Tensorflow는 설치되어 있어야 한다.
- [방법 1] 텐서플로 라이브러리에서 device_lib 모듈을 이용하는 방법
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
- 위 그림과 같이 'Successfully opened dynamic library lidcudart.so.10.1'과 'Successfully opened dynamic library lidcuda.so.1' 등의 메시지가 나타나면 성공적으로 CUDA를 불러오고 있는 것이다.
- 메시지를 내리다 보면 위 그림과 같이 설치된 GPU에 자동으로 번호를 매겨(0번부터 시작) "device:GPU:0~" 형태로 보여준다면 텐서플로가 문제없이 GPU를 잡고 있는 것이다.
- 예제로 보여준 서버는 RTX 5000 GPU가 총 10개 설치된 서버이다.
- [방법 2] 텐서플로 라이브러리에서 config 모듈을 이용하는 방법
import tensorflow as tf
tf.config.list_physical_devices()
- 방법 1과 마찬가지로 'Successfully opened dynamic library lidcudart.so.10.1'과 'Successfully opened dynamic library lidcuda.so.1' 등의 메시지가 나타나면 성공적으로 CUDA를 불러오고 있는 것이다.
- 방법 1의 결과와 유사하게 위 그림의 가장 아래를 보면 설치된 GPU에 자동으로 번호를 매겨(0번부터 시작) "PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')" 형태의 메시지가 보인다면 문제없이 GPU를 잡고 있는 것이다.
728x90
728x90
'AI프로그래밍 리뷰 > 프로그래밍' 카테고리의 다른 글
딥러닝을 위한 리눅스(Ubuntu) GPU 서버 구축하기 - 3. 추가 설정(도커, NFS) (0) | 2023.04.02 |
---|---|
딥러닝을 위한 리눅스(Ubuntu) GPU 서버 구축하기 - 2. GPU Setting (0) | 2023.04.02 |
딥러닝을 위한 리눅스(Ubuntu) GPU 서버 구축하기 - 1. Server setting (0) | 2023.04.01 |
리눅스 터미널 백그라운드에서 프로세스 돌리기 (tmux or nohup) (0) | 2020.04.29 |
리눅스 터미널에서 딥러닝 학습 강제 중단했을때 GPU에 남은 메모리 정리하는 방법 (4) | 2020.04.02 |
댓글