Python, PyTorch, GPU와 관련된 "How do I list all currently available GPUs with pytorch ?" 프로그래밍 해설
사용 기술:
- Python
- PyTorch
- GPU
코드:
import torch
# 현재 사용 가능한 GPU 장치 수 확인
num_gpus = torch.cuda.device_count()
# 모든 GPU 장치 정보 출력
for i in range(num_gpus):
gpu_name = torch.cuda.get_device_name(i)
print(f"GPU {i}: {gpu_name}")
설명:
torch.cuda.device_count()
함수를 사용하여 현재 사용 가능한 GPU 장치 수를 확인합니다.for
루프를 사용하여 모든 GPU 장치 정보를 출력합니다.torch.cuda.get_device_name()
함수를 사용하여 각 GPU 장치 이름을 가져옵니다.
결과:
GPU 0: Tesla V100-SXM2-16GB
GPU 1: Tesla V100-SXM2-16GB
참고:
- PyTorch는 GPU를 사용하여 딥 러닝 모델을 학습하고 추론하는 기능을 제공합니다.
torch.cuda
모듈은 PyTorch에서 GPU 기능을 사용하는 데 필요한 API를 제공합니다.
추가 정보:
이 코드를 사용하여 현재 시스템에서 사용 가능한 모든 GPU 장치를 나열할 수 있습니다.
주의:
- GPU를 사용하려면 CUDA 드라이버가 설치되어 있어야 합니다.
- PyTorch는 CUDA 버전과 호환되는 Python 버전을 사용해야 합니다.
예제 코드
import torch
# 현재 사용 가능한 GPU 장치 수 확인
num_gpus = torch.cuda.device_count()
# 모든 GPU 장치 정보 출력
for i in range(num_gpus):
gpu_name = torch.cuda.get_device_name(i)
print(f"GPU {i}: {gpu_name}")
# GPU 장치에 대한 추가 정보 출력
# 총 메모리
total_mem = torch.cuda.get_device_properties(i).total_memory
print(f"Total memory: {total_mem / (1024 ** 3)} GB")
# 사용 가능한 메모리
free_mem = torch.cuda.memory_allocated(i)
print(f"Free memory: {free_mem / (1024 ** 3)} GB")
- 이 코드는 기본 코드에 추가 정보를 출력하는 코드입니다.
total_memory
속성은 GPU 장치의 총 메모리 용량을 나타냅니다.
GPU 0: Tesla V100-SXM2-16GB
Total memory: 16.0 GB
Free memory: 15.5 GB
GPU 1: Tesla V100-SXM2-16GB
Total memory: 16.0 GB
Free memory: 15.5 GB
- 이 코드는 예시이며, 필요에 따라 수정할 수 있습니다.
- 다른 GPU 정보를 출력하려면
torch.cuda.get_device_properties()
함수의 문서를 참조하십시오.
대체 방법
nvidia-smi
nvidia-smi
명령어는 시스템에서 사용 가능한 모든 GPU 장치 정보를 출력합니다.- 출력 정보에는 GPU 이름, 메모리 용량, 사용량, 온도 등이 포함됩니다.
| Name | Total | Used | Free | MiB | Temp |
|-------------|-------|------|------|------|------|
| Tesla V100-SXM2-16GB | 16.0 GB | 0.5 GB | 15.5 GB | 65 C |
| Tesla V100-SXM2-16GB | 16.0 GB | 0.5 GB | 15.5 GB | 64 C |
nvidia-smi
명령어는 Linux, Windows, macOS에서 사용할 수 있습니다.
PyTorch profiler 사용
import torch
with torch.profiler.profile(activities=["cuda"]):
# 모델 학습 또는 추론 코드 실행
- PyTorch profiler는 PyTorch 코드 실행 성능을 분석하는 도구입니다.
activities=["cuda"]
옵션을 사용하여 GPU 활동만 추적합니다.
# profiler 결과 출력
python pytorch gpu