Mac OS 10.13.6 深度學習配置指南||Pytorch-GPU版+eGPU安裝
核心要點:如何用MacBook順理成章地使用NVIDIA顯卡支持的CUDA對深度神經網路的訓練進行加速?
本文結構
- 硬體配置
- 電腦以及eGPU情況
- eGPU的安裝
- eGPU性能損耗
- 環境配置
- virtual environment
- CUDA 安裝
- Mac OS 10.13.6 Pytorch-GPU 安裝
一、硬體配置
1、電腦以及eGPU情況
本人的電腦是支持雷電2的MacBook Pro,雷電2傳輸速率為16Gbit/s。eGPU選擇的是技嘉GAMING BOX GTX1070 8GB版本,其為雷電3的介面,所以還需購買雷電3轉雷電2轉接線,以及雷電2線。
關於技嘉GAMING BOX:
技嘉GTX1080GamingBox評測
技嘉 AORUS Gaming Box 體驗:辦公在外,歸來仍是玩家AORUS GTX 1080 Gaming Box | 顯卡 - GIGABYTE 技嘉科技
關於1070和1080的選擇?
eGPU性能越高,因為雷電介面雙向傳輸數據的緣故,性能損耗越大,如果是雷電3介面,可以選擇技嘉GAMING BOX 1080版本。
2、eGPU安裝
系統版本:
截止於今天(20190117)NVIDIA顯卡不支持MacOS 10.14,所以,想要安裝eGPU,請先檢查系統。目前支持的最新系統為Mac OS 10.13.6。
安裝流程參考:
MacBook外置顯卡eGPU折騰筆記
以及eGPU論壇:eGPU.io
3、性能提升以及性能損耗
Intel Iris 6100 OpenCL跑分:

eGPU GTX 1070 跑分:
1070跑分在158000左右,所以性能損耗18%左右
參考鏈接:
sunmonk:MacbookPro搭配技嘉外置顯卡拓展塢AORUS GTX 1070 GamingBox使用感受,神經網路訓練和簡明安裝教程
二、環境配置
1、virtual environment
Anaconda如何設置virtual environment?
https://conda.io/docs/user-guide/tasks/manage-environments.html
http://cs231n.github.io/setup-instructions/
接下來一個麻煩的問題是,如何為Anaconda的virtual environment 單獨安裝某包?
比如安裝torch,你可以這樣做(DL是virtual environment 的名字)
Sudo /anaconda3/envs/DL/bin/pip install torch
2、CUDA 安裝
參見這位老哥的教程,非常感謝這位老哥:
周劍:macOS+cuda9.2 配置eGPU深度學習環境
下面引用 @周劍,BTW,現在可以安裝Cuda 10了,建議使用py3.7+CUDA10+CUDNN7.4的組合:
開始安裝CUDA。安裝前請確認以前是否有安裝過其他版本的CUDA。如果有,請先卸載,卸載方法如下。

打開CUDA官網,下載CUDA9.2。(注意:下載mac版)、
安裝CUDA,選擇安裝所有。
運行以下指令查看CUDA是否安裝成功。
$ cd /usr/local/cuda/samples
$ sudo make -C 1_Utilities/deviceQuery
$ ./bin/x86_64/darwin/release/deviceQuery
如果安裝成功會有GPU信息出現,如下圖

在~/.bash_profile文件下添加以下新的環境變數(不可省略)
export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH="$CUDA_HOME/lib:$CUDA_HOME/nvvm/lib:$CUDA_HOME/extras/CUPTI/lib:/usr/local/nccl/lib"
export LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
export PATH=$CUDA_HOME/bin:$PATH
下載cuDNN7.2.1 OSX版本。(需要組冊英偉達賬號)
解壓cuDNN,在cuDNN前一個文件夾運行以下指令,將cuDNN文件複製到CUDA中。
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib/libcudnn* /usr/local/cuda/lib
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib/libcudnn*
$ rm -rf cuda
之後需要下載英偉達的編譯器NCCL2.2.13 O/S版本。(注意:解壓NCCL時可能需要下載一個新的解壓APP)

解壓NCCL後,運行以下程序。
$ sudo mkdir -p /usr/local/nccl
$ sudo mv nccl_2.2.13-1+cuda9.2_x86_64/* /usr/local/nccl
$ sudo mkdir -p /usr/local/include/third_party/nccl
$ sudo ln -s /usr/local/nccl/include/nccl.h /usr/local/include/third_party/nccl
$ rm -rf nccl_2.2.13-1+cuda9.2_x86_64
到這一步算是把CUDA部分全部安裝完畢。
CUDA安裝好後就可以了安裝Pytorch-GPU版本了:
3、Mac OS 10.13.6 Pytorch-GPU 安裝
參考鏈接:
TomHeaven/pytorch-osx-build
這個鏈接里都是編譯好的GPU版pytorch,下載安裝即可,就不用辛苦等待編譯了。
目前建議使用:pytorch-1.0-py27-py37-cuda10-cudnn74
下載好後使用命令行:
cd path
Sudo /anaconda3/envs/DL/bin/pip install torch-1.0-cp37-cp37m-macosx_10_13_x86_64.whl
- path 是torch-1.0-cp37-cp37m-macosx_10_13_x86_64.whl 所在的文件夾
- DL 是anaconda 的virtual environment 名字
安裝好後
source activate DL
Python
import torch
print(torch.cuda.is_available())
輸出 True就大功告成啦!
PS:
廣告時間啦~
理工狗不想被人文素養拖後腿?不妨關注微信公眾號:

推薦閱讀:
TAG:CUDA | MacBook | 深度學習(DeepLearning) |
