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給出了解決方案,大家可以參考。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM