Setup & Software Discussions
2016 15" MacBook Pro (RP455) [6th,4C,H] + Titan Xp @ 32Gbps-TB3 (Sonnet Breakawa...
 

2016 15" MacBook Pro (RP455) [6th,4C,H] + Titan Xp @ 32Gbps-TB3 (Sonnet Breakaway 550) + macOS 10.13.6 [jiver]  

  RSS

jiver
(@jiver)
New Member
Joined: 6 months ago
 
[2018, a long delay before posting]
Setup was blissfully easy, thanks to @goalque's automate-eGPU EFI boot method (and all of the good advice at eGPU.io).

System specs

Late 2016 15" TB Macbook Pro Touch Bar A1707, 2.7 GHz
Screen: native resolution 2880 x 1800 x 32
http://osxdaily.com/2012/06/18/3-ways-to-run-a-retina-macbook-pro-at-2880x1800-native-resolution/

MacOS 10.13.6 (17G4015)
NVIDIA Web Driver 387.10.10.10.40.113
CUDA Toolkit 10.0 (CUDA driver 410.130)

eGPU hardware

*Sonnet eGFX Breakaway Box 550W
https://www.amazon.com/Sonnet-eGFX-Breakaway-550W-GPU-550W-TB3/dp/B0764J5QVD

The 650W version is more future-proof but was out of stock at the time. 550W is enough for Titan Xp + charge laptop
I chose the Sonnet over the Razer Core X or Akitio Node using this extraordinary helpful site:
https://egpu.io/external-gpu-buyers-guide-2018/
Considerations: Sonnet was historically very Mac-focussed (used their CPU accelerators back in the day), and is used for Apple's own eGPU hardware kit. More objectively it was reputed to be quietest of the bunch. It has not disappointed.

*NVIDIA Titan Xp
From NVIDIA's a generous academic GPU grant program. They now offer Titan V.

*Apple 0.8m Thunderbolt 3 cable
Apple seems to have the only >0.5m passive cable available. They claim full compatibility with 40 GBps transfer speed, which appears confirmed in the memory bandwidth benchmarks.

Installation steps

Thanks to goalque's EFI boot method, no system modifications were needed (unless, er, you consider the unfortunate need to downgrade from Mojave to High Sierra because NVIDIA drivers are not ready yet, ouch.)

1) Install NVIDIA Web Driver and CUDA support
Helpfully listed at https://www.tonymacx86.com/nvidia-drivers/
https://developer.nvidia.com/cuda-downloads?target_os=MacOSX&target_arch=x86_64&target_version=1013
https://www.nvidia.com/object/mac-driver-archive.html

2) Use automate-eGPU EFI
https://egpu.io/forums/mac-setup/automate-egpu-efi-egpu-boot-manager-for-macos-and-windows/?foro=allread&foro_n=56cd82b9f8

That's all!

Here's some more detail if interested

I used the instructions on the automate-eGPU EFI page, including changing config.plist (MuxSetting --> 1) and pmset (crucial, see below). Below is a reiteration of that page, but with one modification: I found that plugging in the eGPU after login, as instructed, would not properly load CUDA drivers. Instead, I shutdown and plug in the eGPU (which will boot the machine, so make sure the USB boot stick is in).

(Since I have dGPU) modify config.plist as suggested

There is a conflict between the dGPU and eGPU resulting in a black internal screen, and a working, but incredibly slow responding external screen. That caught me the first time I ran it, but it's easily fixed. Save yourself the trouble by first selecting the iGPU:
Go to Terminal.app and type

$ sudo pmset -a gpuswitch 2 #Not sure why this is necessary--switches into 'auto switch' mode, which is the default
$ sudo pmset -a gpuswitch 0 #Very much necessary--force only the iGPU to be used

Shutdown
Plug in eGPU (this will trigger a startup)
Hold option key (first time only)
Boot from EFI. Note it should lists 3 GPUs, but says 'no eGPU' -- don't worry about it.
Hit 'q'
Turn auto-boot on (no need to even hold option down next time)
Boot into MacOS

Benchmarks

CUDA-Z

Performance Information
-----------------------
Memory Copy
Host Pinned to Device: 1661.97 MiB/s
Host Pageable to Device: 1632.56 MiB/s
Device to Host Pinned: 2691.47 MiB/s
Device to Host Pageable: 2599.75 MiB/s
Device to Device: 172.958 GiB/s

GPU Core Performance
Single-precision Float: 13.565 Tflop/s
Double-precision Float: 452.135 Gflop/s
64-bit Integer: 1022.54 Giop/s
32-bit Integer: 4656.89 Giop/s
24-bit Integer: 3502.26 Giop/s

Valley (Extreme HD; 1900 x 1080 8xAA fullscreen)
Internal Screen: FPS 53; Score: 2205
External Screen: FPS 74; Score: 3086

Note: I am puzzled by the lack of full bandwidth on Host to Device. The original USB C ports on this laptop failed and it had to be repaired. I did not record the 'before' measures, but I think they were full bandwidth.

Comments

The speed that counts for my work is CUDA accelerated computation. One example is acceleration of signal processing and linear algebra computation in Matlab.

The Matlab GPU Bench application tests CPU-only and GPU compute times for a variety of basic operations and compares with other leading CUDA cards.

Titan Xp is designed for fast single precision computation, and it did not disappoint, peaking over 12 Teraflops besting Tesla P100 by 40% and the cpu by 35x. It falls short of the same computation in double-precision although holding its own in double precision FFTs. Titan V would be a better option. It' s now offered by the grant program.

Results for data-type 'double'

(In GFLOPS)

Results for data-type 'single'

(In GFLOPS)

 

MTimes   

Backslash

  FFT        

                                 MTimes     

Backslash

           FFT

Tesla P100-PCIE-12GB

4518.23

878.97

313.43

8807.20

1439.15

676.20

Tesla K40c

1189.54

677.12

135.88

3187.76

1334.17

294.86

Tesla K20c

1004.06

641.42

106.09

2657.01

1230.28

235.20

Your GPU (TITAN Xp)

418.65

290.94

212.11

12142.23

1264.74

833.92

GeForce GTX 1080

280.84

223.05

137.66

7707.01

399.37

424.60

Your CPU

149.35

84.63

13.63

280.77

164.83

20.78

Quadro K620

25.45

22.77

12.75

716.71

350.31

75.00

Quadro 600

19.71

17.55

7.62

117.99

88.64

38.58

This topic was modified 6 months ago

2016 15" Macbook Pro RP455 + Titan Xp@32Gbps-TB3 (Sonnet Breakaway 550) + macOS 10.13.6


ReplyQuote