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 13英寸2017年中款,其他型号的可以相应借鉴,但如果型号太老,选购外置显卡时,就需要考虑是雷电2还是雷电3的接口了,或者购买雷电3转接雷电2的线。
外置显卡
如下是egpu.io列出的一些当前市面上可以购买的外置显卡/显卡盒:

注意:外置显卡通常由一个外置显卡盒与显卡两部分组成,显卡通常就是正常的台式机显卡,而外置显卡盒只是提供了显卡插槽,并提供了相应的接口与电脑连接。
大家可以点击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连接外置显卡的图:
这款外置显卡本身是为游戏玩家设计的,所以左侧还有一些彩灯,在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下安装相对来说还是很容易的,大家也可以参考以下两篇文章,进行安装:
- https://egpu.io/forums/mac-setup/wip-nvidia-egpu-support-for-high-sierra/
- https://9to5mac.com/2017/04/19/akitio-node-gtx-1080-ti-gpu-macbook-pro-gaming-egpu/
性能测试
既然外置显卡已经安装好了,怎么着也得测试一下性能,以下是使用GeekBench 4进行测试的结果,可以想见的结果是,外置显卡必然会有一些性能损失的,只是看损失多少的问题。
OpenCL性能测试
选择GTX 1080进行测试

测试结果
看完这个结果,我只想说,我真能浪费钱,花GTX 1080的钱,买到了比GTX 1060稍微好了一丢丢的性能
MacBook外置显卡eGPU折腾笔记的更多相关文章
- Ubuntu Gnome 14.04.2 lts 折腾笔记
unity感觉不爽,于是来折腾gnome3 = = 首先去官网下载ubuntu gnome 14.04.2 lts的包(种子:http://cdimage.ubuntu.com/ubuntu-gnom ...
- Kali Linux 1.0 新手折腾笔记(2013.3.21更新)
rootoorotor昨天折腾了 Kali Linux 1.0,把大概的配置过程记录下来,希望对想接触或使用Kali Linux的同学有所帮助. 请注意: 1.本文为面向新手的教程,没技术含量,没事瞎 ...
- ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core
背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...
- ASP.NET Core 折腾笔记一
前言: 在ASP.NET Core 1.0时,曾折腾过一次,后因发现不了System.Data而停止. 更因VS2015提示过期Delete掉VS了,其实主要还是笔记本的硬盘空间吃紧. 快双十一了,本 ...
- systemtap折腾笔记
在这货上花费了不少时间,都是受了@agentzh 大神的蛊惑:) 他写的nginx-systemtap-toolkit监测的数据很有价值,对于系统优化实在是利器. 最早折腾systemtap,是在Ub ...
- 【转】Kali Linux 新手折腾笔记
原作者:http://defcon.cn/1618.html 最近在折腾Kali Linux 顺便做一简单整理,至于安装就不再多扯了,估计会出现的问题上一篇文章<VMware虚拟机安装Kali ...
- Kali Linux 新手折腾笔记
http://defcon.cn/1618.html 2014年09月29日 渗透测试 暂无评论 阅读 55,052 次 最近在折腾Kali Linux 顺便做一简单整理,至于安装就不再多扯了,估 ...
- Kivy折腾笔记
最近想用Python开发APP,选择kivy,记录过程 首先是源码安装,各种蛋疼的报错放弃了.cython高版本有问题. python3 -m pip install cython==0.23 pyt ...
- Manjaro折腾笔记:我的数据科学环境搭建之路
ss并且开机启动 0. 安装shadowsocks sudo pip install shadowsocks 1. 建立配置文件ss.json 我的位置是:/home/ray/Documents/sh ...
随机推荐
- crm操作销售订单实体
using System; using Microsoft.Xrm.Sdk; using Microsoft.Xrm.Sdk.Query; using Microsoft.Cr ...
- Linux 中权限的再讨论( 下 )
前言 上篇随笔讲述了Linux中权限的大致实现机制以及目录权限的相关规则.本文将讲解Linux中的三种特殊权限:SUID,SGID,Sticky权限.看完这两篇文章,你一定会对Linux的权限有个更深 ...
- 【BZOJ3782】上学路线 组合数+容斥+CRT
[BZOJ3782]上学路线 Description 小C所在的城市的道路构成了一个方形网格,它的西南角为(0,0),东北角为(N,M).小C家住在西南角,学校在东北角.现在有T个路口进行施工,小C不 ...
- 【BZOJ2625】[Neerc2009]Inspection 最小流
[BZOJ2625][Neerc2009]Inspection Description You are in charge of a team that inspects a new ski reso ...
- 负载均衡实现,一个域名对应多个IP地址
负载均衡实现,一个域名对应多个IP地址 - 宏宇 - 博客园 https://www.cnblogs.com/cuihongyu3503319/archive/2012/07/09/2583129.h ...
- The server must be started under an unprivileged user ID to prevent
mysql8 PostgreSQL [root@test local]# postgres -D /usr/local/pgsql/data"root" execution of ...
- python基础教程_学习笔记18:标准库:一些最爱——shelve
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/signjing/article/details/36029981 标准库:一些最爱 shelve S ...
- 【C++基础学习】成员对象与对象数组
第一部分 对象成员与对象数组 从一个简单的例子开始说起,首先定义一个Coordinate的类,里面有两个公有的成员变量m_iX和m_iY,分别代表横坐标和纵坐标. 接下来,定义一个对象数组cood和一 ...
- ImageIO 操作图片
/** * 读取本地图片到另一个本地文件夹 * @throws IOException */ public void copeImageToOtherFolder() throws IOExcepti ...
- CSU1808 地铁 —— dijkstra变形
题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1808 题解:由于中转线路需要花费一定的时间,所以一般的以顶点为研究对象的dijkst ...