안녕하세요 코코넛입니다. 최근에 egpu를 구입하여 맥북에 물려서 쓰게 되었는데요,

여러시간 삽질하면서 생긴 지식을 끄적여 보았습니다.

우선 제가 사용하는 맥북프로와 egpu 환경은

MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)

aorus gtx 1070 gaming box

입니다.

제가 구입한 egpu는 썬더볼트3 규격이며, 썬더볼트3를 지원하는 최근의 맥북이 있어야 연동하실 수 있습니다.


일단 들어가기에 앞서 맥북과 egpu를 연동해서 할 수 있는 것은 꽤 여러가지가 있는데요,

엔비디아 gpu가 들어간 egpu 기준으로 설명해드리겠습니다.

  1. 맥OS 상에서 cuda, cudnn, nvidia 웹드라이버를 통해 cuda 프로세싱을 쓸 수가 있습니다.(tensorflow 가능)
  2. 부트캠프에 윈도우를 설치하여 여러가지? 게임을 할 수 있습니다.
  3. 외에도 여러가지 그래픽카드로 가능한 여러가지 작업을 할 수가 있습니다.

저는 이 중에서 1번 사항에 해당하여 설치 및 연동을 해보게 되었는데요,


우선 맥에서 엔비디아 계열의 그래픽카드를 egpu로 사용하실 경우는 제약이 조금 따릅니다.

맥OS를 high sierra 10.13.X 에서 사용하셔야 합니다.(저도 모하비에서 다운그레이드 하려고 포맷을 ㅠㅠ…)

그리고 15인치 맥북같은 고급형에 들어가는 외장그래픽과 충돌이 날 수 있습니다.(이 부분이 까다롭습니다.)

자 이제 순서를 소개해 드리겠습니다.(맥OS가 high sierra 10.13.X가 설치되어 있다는 전제하에)

  1. 우선 SIP(System Integrity Protection)를 해제하셔야 합니다. 방법은 구글링 하시면 나오는데, 제 블로그에 있는 내용을 링크하겠습니다. https://buttercoconut.xyz/172/
  2. egpu를 냅두시고, 우선 맥북을 셋팅해줍니다. 자신의 맥OS 버전에 맞는 nvidia 웹드라이버를 다운받아서 설치를 해줍니다.(버전이 맞지 않으면 설치가 되지 않으니 맞을 것 같은 버전을 여러 종류로 다운받아서 설치하셔도 됩니다.)
  3. purge-wrangler, automate-eGPU 등의 여러가지의 auto-setting-scripts가 있지만 저는 purge-wrangler 추천해 드립니다.
  4. purge-wrangler를 설치하여, nvidia웹드라이버와 egpu를 연동할 수 있도록 합니다. https://github.com/mayankk2308/purge-wrangler

purge-wrangler를 설치하여 실행시키면 루트 패스워드를 입력하면 이 화면이 나옵니다. 여기서 2번 NVIDIA egpus를 선택하면 됩니다. 중간에 Ti82도 설치하는지 물어보는데 설치를 해줍니다. 그리고 재부팅을 해줍니다.

여기까지 하면 거의 다 끝났습니다.

재부팅을 하고 egpu를 연결하면 NVIDIA Driver Manager 에 들어가 보면 자신의 egpu가 인식됩니다.

%주의사항%

  1. 맥북이 켜져있고, egpu가 맥북에 연결이 되어 있을 경우 썬더볼트3 케이블을 usb처럼 마구 뽑으면 안됩니다.(반드시 맥북을 시스템 종료한 후 케이블을 뽑아야 합니다.)
  2. 외장그래픽이 들어간 고급형의 맥북의 경우는 외장그래픽과 충돌하여 블랙스크린이 나타날 수 있으니 https://egpu.io/ 포럼을 잘 확인하여 nvram 상에서 충돌이 나지 않도록 주의하여 다루도록 합니다.

추가로 cuda와 cudnn의 경우는 필요하신 경우에 설치하여 연동하실 수 있습니다.

https://developer.nvidia.com/cuda-downloads

https://developer.nvidia.com/rdp/form/cudnn-download-survey

두 링크를 통해 자신의 OS에 맞는 버전을 다운받아서 설치하시면 됩니다.

여기까지 마치겠습니다.