背景
我的常用笔记本是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盘插入,重启系统,看到苹果图标时按下
Command + R
进入恢复模式 - 在恢复模式下输入命令
csrutil disable
,禁止macOS的SIP功能 - 关闭T2芯片的Secure Boot功能,并允许从外部启动
从U盘安装High Sierra
- 保持U盘插入,重启系统,保持按住
option
键,可以看到两块硬盘:nac系统硬盘和U盘启动盘 - 选择U盘启动盘,进入【实用工具】
- 使用【磁盘工具】抹掉mac硬盘:如何抹掉 Mac磁盘
- 选择将High Sierra安装到mac硬盘上
安装完毕后进入系统,看到High Sierra山湖相映的金色壁纸,可以检查一下系统环境已经配置好了~
安装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的图标
点击Open Nvidia Driver Manager Preferences
,可以查看详情:
按住option键点击菜单栏的苹果图标,选择System Information
,可以看到外接显卡已被成功检测到:
跑分验证
使用一款简单的跑分软件Geek Bench对电脑进行初步检测。选择检测GTX 1080,使用OpenCL Benchmark:
得到跑分如下:
个人小白,不太了解性能指标,但能够跑分至少说明显卡驱动已经安装成功,显卡可以正常工作了~
至此, mac上的Nvidia显卡驱动已经安装完毕。接下来如何配置一个可用的深度学习环境呢?下一篇文章会继续介绍~
下期提纲:
- 安装CUDA和cuDNN
- CUDA,cuDNN: 深度学习GPU加速工具
- 编译正确版本的pytorch和torchvision
- 试跑模型,验证eGPU加速深度学习模型