M1, M시리즈 칩셋이 탑재된 맥북에서 GPU 가속을 사용하는 방법(Pytorch)
M시리즈 칩셋이 탑재된 맥북에서 GPU가속
GPU 가속을 사용하려면, 파이토치에서 M1칩을 사용하기 위한 MPS 장치를 사용할 수 있는지 확인해야합니다.
(편의상 M1칩이라고 하겠습니다. 이제 M2도 나오고 하지만)
print(torch.backends.mps.is_built())
위 코드가 True 값이 반환되는지 살펴보시고 False라면, Pytorch 버젼이 1.12이상 이여야하므로 업데이트를 해주시기 바랍니다.
MPS 장치 사용가능한지 확인하기
print(torch.backends.mps.is_available())
값이 True가 나오는지 확인해주세요
True가 나왔다면, 이제 우리는 GPU 가속을 사용할 수 있는겁니다.
Pytorch.org 공식문서 예시
import torch
mps_device = torch.device("mps")
# MPS 장치에 바로 tensor를 생성합니다.
x = torch.ones(5, device=mps_device)
# 또는
x = torch.ones(5, device="mps")
# GPU 상에서 연산을 진행합니다.
y = x * 2
# 또는, 다른 장치와 마찬가지로 MPS로 이동할 수도 있습니다.
model = YourFavoriteNet() # 어떤 모델의 객체를 생성한 뒤,
model.to(mps_device) # MPS 장치로 이동합니다.
# 이제 모델과 텐서를 호출하면 GPU에서 연산이 이뤄집니다.
pred = model(x)
실전 적용
기존에 우리가 쓰던코드 예를들어
device = 'cuda' if torch.cuda.is_available() else 'cpu'
torch.manual_seed(777)
if device == 'cuda':
torch.cuda.manual_seed_all(777)
이와 같던 코드를
mps_device = torch.device("mps")
torch.manual_seed(777)
if mps_device == 'mps':
torch.cuda.manual_seed_all(777)
처럼 바꿔줄 수 있겠습니다.
또 어떠한 device를 사용하는지 궁금하다면
Leave a comment