파이토치에서 GPU 사용 확인 방법
파이토치에서 GPU 사용 확인 방법
다음은 파이토치에서 GPU 사용 여부를 확인하는 몇 가지 방법입니다.
torch.cuda.is_available() 사용
가장 간단한 방법은 torch.cuda.is_available()
함수를 사용하는 것입니다. 이 함수는 시스템에 사용 가능한 GPU가 있는지 확인하고, True 또는 False를 반환합니다.
import torch
if torch.cuda.is_available():
print("GPU 사용 가능")
else:
print("GPU 사용 불가능")
torch.cuda.current_device() 사용
torch.cuda.current_device()
함수는 현재 사용 중인 GPU 장치의 ID를 반환합니다.
device = torch.cuda.current_device()
print(f"현재 사용 중인 GPU 장치 ID: {device}")
nvidia-smi 명령어 사용
nvidia-smi
명령어는 시스템에 있는 모든 GPU 장치에 대한 정보를 표시합니다. 터미널 또는 명령 프롬프트에서 다음 명령어를 실행하면 됩니다.
nvidia-smi
코드에서 GPU 사용 확인
다음 코드는 GPU가 사용 가능한지 확인하고, 사용 가능한 경우 GPU에 텐서를 할당하는 방법을 보여줍니다.
import torch
# GPU 사용 가능 여부 확인
if torch.cuda.is_available():
# GPU 사용
device = torch.device("cuda")
x = torch.randn(100, 100, device=device)
else:
# CPU 사용
device = torch.device("cpu")
x = torch.randn(100, 100, device=device)
print(f"텐서 위치: {x.device}")
참고:
- GPU를 사용하려면 Nvidia CUDA 드라이버가 설치되어 있어야 합니다.
- 파이토치 코드에서 GPU를 사용하려면
torch.cuda
모듈을 임포트해야 합니다. - 텐서를 GPU에 할당하려면
torch.device("cuda")
장치를 사용해야 합니다.
추가 정보
예제 코드
import torch
# GPU 사용 가능 여부 확인
if torch.cuda.is_available():
# GPU 사용
device = torch.device("cuda")
print("GPU 사용 가능")
# GPU에 텐서 할당
x = torch.randn(100, 100, device=device)
print(f"텐서 위치: {x.device}")
# GPU에서 텐서 계산
y = x.mul(2)
print(f"연산 결과 위치: {y.device}")
else:
# CPU 사용
device = torch.device("cpu")
print("GPU 사용 불가능")
# CPU에 텐서 할당
x = torch.randn(100, 100, device=device)
print(f"텐서 위치: {x.device}")
# CPU에서 텐서 계산
y = x.mul(2)
print(f"연산 결과 위치: {y.device}")
- 이 코드는
torch.cuda.is_available()
함수를 사용하여 GPU 사용 가능 여부를 확인합니다. - GPU 사용 가능 시
torch.device("cuda")
장치를 사용하여 텐서를 GPU에 할당하고,x.mul(2)
연산을 GPU에서 수행합니다. - 코드 실행 결과는 시스템 환경에 따라 다릅니다.
- 이 코드는 기본적인 예시이며, 실제 사용 환경에 맞게 수정해야 합니다.
- GPU 사용 시 성능 향상을 위해 텐서 크기 및 연산 유형을 고려해야 합니다.
파이토치에서 GPU 사용 확인: 대체 방법
CUDA_VISIBLE_DEVICES 환경 변수를 설정하면 사용 가능한 GPU 장치를 지정할 수 있습니다. 터미널 또는 명령 프롬프트에서 다음 명령어를 실행하여 환경 변수 값을 확인할 수 있습니다.
echo $CUDA_VISIBLE_DEVICES
nvidia-smi
명령어를 실행하여 시스템에 있는 모든 GPU 장치에 대한 정보를 표시할 수 있습니다. 출력 결과에서 "Processes" 열을 확인하여 GPU 장치가 사용 중인지 확인할 수 있습니다.
PyTorch 모델 정보 확인
model.cuda()
메서드를 사용하여 모델이 GPU에 있는지 확인할 수 있습니다.
model = torch.nn.Sequential(
torch.nn.Linear(10, 10),
torch.nn.ReLU(),
torch.nn.Linear(10, 1)
)
# 모델이 GPU에 있는지 확인
if model.cuda():
print("모델이 GPU에 있음")
else:
print("모델이 CPU에 있음")
시스템 모니터링 도구 사용
시스템 모니터링 도구를 사용하여 GPU 사용량을 확인할 수 있습니다. 예를 들어, Windows 시스템에서는 "작업 관리자"를 사용하여 GPU 사용량을 확인할 수 있습니다.
- 이러한 방법들은
torch.cuda.is_available()
함수보다 간단하지만, GPU 사용 여부만 확인할 수 있을 뿐, 더 자세한 정보는 제공하지 못합니다.
추가 정보
python memory-management gpu