mac m1에서 mps가 안불러와질때

Roy·2022년 10월 2일
0

m1과 친해지기

목록 보기
1/1
post-thumbnail

💡글의 목적

최근 맥북에 처음 입문하면서 달라진 환경에 적응하기 위해 내가 찾았던 에러와 디버깅을 요약하기 위함입니다. 보시는 분들에게 조그만한 힘이 되고자 글을 남깁니다.

💡MPS란?

What is MPS
MPS : Apple’s Metal Performance Shaders
mps는 맥북에서 m1칩을 공개한 이후 gpu가속을 위해 파이토치에서 만든 가속기에 해당하고 현재 공식버전이 릴리즈되진 않았기에 사용에 유의하시길 바랍니다.
⚠️ (conda 가상환경으로 실행을 권장)

https://discuss.pytorch.kr/t/apple-m1-gpu/286/2
파이토치 한국 커뮤니티에서 올라온 글을 보고 놀랐다. 아직 공식 버전이 아니기 때문에(22년 10월 2일 기준) 사용을 권장드리진 않지만 저 처럼 처음 m1에 입문하고 속도를 느껴보고 싶으신 분들을 위해 글을 정리했습니다.

🎊커뮤니티 내용 요약
1. 파이토치 m1 gpu가속기가 나왔다.
2. nightly 버전이라 안정적이지 않을 수 있다.

내가 만난 오류

커뮤니티에 나온대로 실행을 하면 크게 문제될일이 없었다.
하지만 최근 새로운 라이브러리 도입을 위해 업데이트를 진행하면서 mps가 작동이 안되다 보니 많이 당황했다.

해결법

문서를 읽고 다시 구글링 해본 결과 딱 두가지만 확인하면된다.
1. Platform 확인

import platform 
print(platform.platform())
>>> macOS-12.6-arm64-arm-64bit

해당 버전이 아닌 경우 python을 재설치 해야한다.
https://www.python.org/downloads/macos/
여기서 사용하고 있는 버전을 재설치 해주시면 됩니다.

  1. torch 재설치 하기
print(torch.__version__)
>>>1.12.1

해당 버전이 아닌 경우 nightly버전을 사용하시는게 아니라 다른 라이브러리를 설치하면서 torch를 downgrade했을 경우가 있습니다.
따라서 이런 경우 torch의 버젼을 업데이트 하셔야 합니다.

! pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu

순서는 1,2번 순으로 확인해보시면 됩니다.

💊이후 아래 코드를 실행시켜보면 다시 원할히 돌아온 것을 알 수 있습니다.

print(torch.backends.mps.is_built())
torch.device('mps')

>>>
True
device(type='mps')
profile
반갑습니다. 좋은 정보 공유하겠습니다.

0개의 댓글