MacBook外置显卡eGPU折腾笔记

MacBook外置显卡eGPU折腾笔记

硬件选购

当今市场上个人电脑的独立显卡,基本上能选的只有NVIDIA和AMD了,如果你想买外置显卡来打游戏的话,NVIDIA和AMD的都可以,但如果是像我一样准备用来做深度学习加速的,那最好还是选择NVIDIA了。

另外,如果要用来做深度学习加速,一定要查看英伟达官方网站,必须是支持CUDA的显卡才行,因为现在大多数的深度学习框架,底层都是调用GPU的CUDA编程接口。

不过大家也不用担心需要多么昂贵的显卡,GeForce GTX 9XX,GeForce GTX 10XX的显卡基本上都是支持的,具体购买之前去官方网站再核实一下即可。

因为本文的经验来自于MacBook Pro,所以,以下着重介绍MacBook Pro安装、配置外置显卡的一些信息。Windows下依然也可以使用外置显卡的,而且性能损失更少。

电脑

对比较新的笔记本而言,要配置外置显卡,最佳的途径非Thunderbolt接口(也称雷电接口)莫属,这个接口一共分3代,从2016年以后的苹果笔记本电脑,包括MacBook Pro、MacBook上面配置的,都是第三代的雷电接口,这个接口速度极快,因此提供了扩展显卡的可能性,接口的形状与USB 3.1的形状一样,现在很多PC笔记本也配备了这个接口,但一定要注意了,有些电脑上也有这个形状的接口,但并不是雷电3接口,而只是USB接口,如果想给PC笔记本扩展显卡,一定要看清楚了,雷电接口的旁边一般有一个闪电的标志。这三代雷电接口的传输速率、形状等信息,可以参考这个网站:https://egpu.io/setup-guide-external-graphics-card-mac/#tb3-enclosures。

2016年末和以后的MacBook Pro 15英寸(注意,只是15英寸哦)的笔记本更为牛X,雷电接口直接是与CPU相连的,能够获得最大的连接速度。以下是来自egpu.io的一张架构图:

MacBook Pro雷电3架构

本人使用的电脑是MacBook Pro 13英寸2017年中款,其他型号的可以相应借鉴,但如果型号太老,选购外置显卡时,就需要考虑是雷电2还是雷电3的接口了,或者购买雷电3转接雷电2的线。

外置显卡

如下是egpu.io列出的一些当前市面上可以购买的外置显卡/显卡盒:

雷电3外置显卡列表

注意:外置显卡通常由一个外置显卡盒与显卡两部分组成,显卡通常就是正常的台式机显卡,而外置显卡盒只是提供了显卡插槽,并提供了相应的接口与电脑连接。
大家可以点击The Beginner’s eGPU Setup Guide for Mac查看各个这些显卡的详细信息,有些只是一个显卡盒,而显卡需要单独购买。
另外,苹果最新的操作系统macOS High Sierra宣布支持外置显卡,但真正到可用的程度,预计要到2018年春季,所以,不想吃螃蟹的同学,可以再等等,苹果现在官方宣布支持的外置显卡是Sonnet Breakaway,在显卡的开发者套件里面,国内现在没有正式发售,另外,苹果的开发者套件里面,这个外置显卡配备的是AMD Radeon RX 580。

本人购买的是技嘉Aorus Gaming Box GTX1080,算是小小的冒险,因为这款显卡官方明确说只支持Windows系统,在买回来的最初几天里,遇到各种问题,曾一度非常失落,但最终也算是一一搞定了。

以下是我的MacBook Pro连接外置显卡的图:

MacBook Pro连接Aorus Gaming Box

这款外置显卡本身是为游戏玩家设计的,所以左侧还有一些彩灯,在Windows平台下,可以通过安装软件调整效果。

另外,这款外置显卡是mini版的,也就意味着跟正常大小的台式机显卡尺寸是不同的,目前我还不清楚能否用在台式机上。

NOTE:这款外置显卡非常小巧,还配备了一个包,具有很强的便携性,但如果将来打算把里面的显卡用在台式机上,估计会有点困难,建议有选购需求的同学不要像我一样。可以选购AKiTio Node这样的外置显卡盒,然后再单独选购桌面版的显卡,这样如果不想使用外置显卡了,直接换到台式机上即可。

安装

以下以macOS High Sierra系统下安装为例,虽然网上也有个别在macOS Sierra系统下安装成功的,但能找到的资料非常少,而且本人经过多次尝试,系统都无法识别显卡。

另外,使用BootCamp在Windows下安装估计也是很多人能想到的一个解决方案,但我购买的这款外置显卡这样安装依然不行,在Windows 10下,系统找到显卡后,开始安装驱动,然后重启,但系统一直停留在视窗图标那,并且图标还不断闪烁。经过多次尝试,均已失败告终,其中有一次,下方出现类似"installing driver, please wait"的提示,但等了大概1个小时依然如此,只能强制重启,而且即使把外置显卡拔了,Windows的视窗图标依然会闪烁,更诡异的是,重启到macOS系统下,依然会有一个幽灵般的蓝色视窗图标在屏幕中间闪烁,给人的感觉好像是把硬件搞坏了,这个问题,国外也有人遇到过,并且根据描述,这类问题,苹果的天才吧是解决不了的。我当时遇到这个问题心情也是极度郁闷的,最终只得使用TimeMachine恢复系统,不过如此折腾过几次,感觉好像耐心等待几个小时也会自然恢复,具体没有经过测试。

这个链接介绍了如何使用Bootcamp安装这款显卡:
https://egpu.io/bootcamp-setup-guide-tb3-macbook-pro/

注意,在苹果官方正式支持NVIDIA显卡之前,安装是有风险的,尤其是使用BootCamp在Windows下安装,请大家慎重操作,提前做好备份。

安装步骤

下面正式进入安装环节,插入外置显卡,然后依次完成如下步骤:

第一步,禁用SIP

重启macOS,在启动的过程中,按住Command - R,进入恢复模式,然后点击菜单栏中的实用工具,选择终端,然后在里面输入如下命令:

csrutil enable --without kext

或者

csrutil disable

然后重启系统,正常启动即可

第二步,安装驱动

可以使用egpu.io中提供的驱动(注意操作系统版本要匹配),或者使用如下命令安装:

curl -o ~/Desktop/automate-eGPU.sh https://raw.githubusercontent.com/goalque/automate-eGPU/master/automate-eGPU.sh && chmod +x ~/Desktop/automate-eGPU.sh && cd ~/Desktop && sudo ./automate-eGPU.sh

按照脚本的提示下载驱动、重启即可

查看安装情况

驱动安装完成后,会在系统右侧菜单条中多出一个图标,如下图所示:

可以查看系统偏好设置,以确认安装是有效的:

系统偏好设置

打开系统偏好设置,点击右下角的NVIDIA Driver Manager

如果出来的界面能看到自己的显卡,说明安装成功了,如下图所示:

关于热插拔

现在几乎只有苹果官方宣称支持的Sonnet Breakaway Radeon RX 580可以支持热插拔,其他的显卡最好还是使用系统菜单栏中的显卡切换按钮切换后再拔,我的外置显卡在macOS下拔出后,系统会死机,网上其他人也都反映过有这个问题。

小结

在macOS High Sierra下安装相对来说还是很容易的,大家也可以参考以下两篇文章,进行安装:

性能测试

既然外置显卡已经安装好了,怎么着也得测试一下性能,以下是使用GeekBench 4进行测试的结果,可以想见的结果是,外置显卡必然会有一些性能损失的,只是看损失多少的问题。

OpenCL性能测试

选择GTX 1080进行测试

测试结果

看完这个结果,我只想说,我真能浪费钱,花GTX 1080的钱,买到了比GTX 1060稍微好了一丢丢的性能😂

Metal性能测试

Metal是苹果的一套新的图形API,这个测试应该是只在macOS环境下有的。

选择GTX 1080进行测试

测试结果

奇怪为什么对比的结果里面都只有一堆移动设备?

不过看到这个结果,感觉心情稍微好了一点,要知道12英寸的iPad Pro出来的时候,图形性能号称超越MacBook Pro,但在这个结果面前,真的是被秒成渣了。

性能损耗问题

从我个人的测试结果来看,当前的整套环境,性能损耗还是相当严重的,9to5mac也做过类似评测,结果同样是性能损耗严重,不过好在Windows下的损耗不那么严重,这也就意味着不是受限于硬件连接速度,而是macOS的优化不到位,希望2018年春季苹果的更新能够解决这个问题。

总结

显卡算是安装好了,如果是打游戏的话呢,基本山可以到此为止了,但如果想用来加速深度学习,那使用CUDA是必不可少的了,下篇文章会介绍在macOS下安装CUDA,编译CUDA的Sample,以及编译1.5版的TensorFlow。

用来打游戏的同学注意了:直接将外置显示器与外置显卡相连,这样肯定是没有问题的,但能否对笔记本本身的显示加速,我也没有经过测试,但这篇文章How to: eGPU-Accelerated Internal Display in macOS给出了解决方案,大家可以参考。

posted @ 2017-12-25 00:12  Steven.Luo  阅读(36482)  评论(3编辑  收藏  举报