MacBookPro 2018配置外接显卡

背景

我的常用笔记本是13寸Macbook Pro 2018,虽然公司把内存和SSD都升级到了顶配,但由于没有Nvidia GPU,平时只能当一块ssh的显示屏用,实在暴殄天物。最近从朋友那里接手了一个显卡坞,为了能愉快地在本机上调(wan)模(you)型(xi),花了一周多的时间研究了一下如何将外接显卡(eGPU)配置在macbook上,记录在此~

小白入门,先介绍一些名词:

  • eGPU: external GPU, 外接显卡
  • Nvidia Web Driver: Nvidia对macOS提供的显卡驱动

Let’s start with:

  • 13-inch Macbook Pro (2018)
  • AORUS GTX 1080 Gaming Box
  • 一块移动硬盘(需格式化,备份用)
  • 一块8g U盘 (制作系统启动盘)

系统准备:macOS

首先注意,对于2018年中以后购买的macbook,出厂预装(shipped with)的系统版本均为10.14 Mojave。
然而,Nvidia没有为10.14以上的mac提供web driver驱动。 如果很不幸你当前的系统是Mojave,就需要备份后重装系统,将macOS版本降到High Sierra 10.13.6才能进行后续配置。10.13.6也是唯一一个支持2018版mbp硬件的High Sierra版本。

如何备份系统: 推荐使用Time Machine

如何降到macOS 10.13.6:

  • 如果出厂版本比High Sierra更早:(1)使用High Sierra时期的Time Machine备份 ;或者(2) 降到出厂版本后,从App Store下载官方的High Sierra Installer,升级到High Sierra
  • 如果出厂版本是High Sierra:可以使用macOS恢复功能恢复到High Sierra系统
  • 如果出厂版本是Mojave:需要自行下载10.13.6安装包,制作U盘启动盘,抹掉硬盘然后安装

针对第三种情况,也就是出厂即为Mojave的macbook,下面介绍详细流程:

下载High Sierra安装包

选择正确的High Sierra版本:较新的10.13.6有不同的build版本,一个系列是17GXX, 一个是17GXXXX。
2018款macbook pro需要选择后者(字母后有4位数字的)。17G2208是最早支持2018款macbook的build版本,数字大于2208的理论上都可以使用。

特定版本的安装包不太好找,这里分享我找到的镜像,提取码是g9j8

** 关于解压:部分安装包较大,使用了分卷压缩,将所有分卷下载后统一解压,即可得到Install macOS High Sierra.app **

制作U盘启动盘

  • 使用mac系统自带的【磁盘工具】,将U盘格式化为APFS格式
  • 使用mac自带命令,将下载好的installer做成启动盘:(这里默认安装包放在/Applications/目录下;--volumn参数是U盘的mount路径,注意修改)
    1
    sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

设置mac允许U盘启动

从U盘安装High Sierra

  • 保持U盘插入,重启系统,保持按住option键,可以看到两块硬盘:nac系统硬盘和U盘启动盘
  • 选择U盘启动盘,进入【实用工具】
  • 使用【磁盘工具】抹掉mac硬盘:如何抹掉 Mac磁盘
  • 选择将High Sierra安装到mac硬盘上

安装完毕后进入系统,看到High Sierra山湖相映的金色壁纸,可以检查一下系统环境已经配置好了~

os-wallpaper.png
os.jpg

安装Nvidia Web Driver

重要的事强调三遍:版本很重要,版本很重要,版本很重要!

在网上找到了一个web driver与macOS build版本的对照表:Nvidia Web Driver updates for macOS High Sierra (UPDATE May 15, 2019)
经过验证,新版(小版本号)的web driver可以与较旧版本的macOS兼容。但是考虑到后续的CUDA与cuDNN的兼容性问题,这里我选择最新的387.10.10.10.40.128版本

确定了版本号之后,可以直接使用GitHub上开源的脚本进行自动化安装,只需指定版本号即可:

1
bash <(curl -s https://raw.githubusercontent.com/learex/macOS-eGPU/master/macOS-eGPU.sh) --install --nvidiaDriver 387.10.10.10.40.128

安装完毕可以在右上角菜单栏看到web driver的图标
driver_manager_icon.png

点击Open Nvidia Driver Manager Preferences,可以查看详情:
driver_manager.png

按住option键点击菜单栏的苹果图标,选择System Information,可以看到外接显卡已被成功检测到:
system information.png

跑分验证

使用一款简单的跑分软件Geek Bench对电脑进行初步检测。选择检测GTX 1080,使用OpenCL Benchmark:
geek bench.png

得到跑分如下:
geek bench results.png

个人小白,不太了解性能指标,但能够跑分至少说明显卡驱动已经安装成功,显卡可以正常工作了~

至此, mac上的Nvidia显卡驱动已经安装完毕。接下来如何配置一个可用的深度学习环境呢?下一篇文章会继续介绍~

下期提纲:

  • 安装CUDA和cuDNN
    • CUDA,cuDNN: 深度学习GPU加速工具
  • 编译正确版本的pytorch和torchvision
  • 试跑模型,验证eGPU加速深度学习模型

References

如何创建可引导的 macOS 安装器
制作mac系统正式版U盘USB启动安装盘方法教程 (全新安装 Mac 系统)