Boosting GPU Performance of
The 'late 2016' MacBook Pro
Using a GPU Expander
Posted January 13, 2017 by rob-ART morgan, mad scientist
Updated January 16, 2017 notes on external display; corrected blender graph.
All the latest Macs have AMD GPUs. That's fine -- until you need to run CUDA accelerated software -- which requires an NVIDIA GPU. And what if you would just like to add a second discrete GPU for whatever?
We are anxiously awaiting the opportunity to test the BizonBOX 3 (Thunderbolt 3) GPU Expander, but meanwhile we decided to see how the BizonBOX 2 (Thunderbolt 2) would perform connected to the 'late 2016' MacBook Pro.
GRAPH LEGEND
rMBP 980 Ti - GeForce GTX 980 Ti (6GB) GPU installed in the BizonBOX 2 Thunderbolt 2 GPU Expander and connected to a Thunderbolt 3 (USB-C) port on the 'late 2016' MacBook Pro using the Thunderbolt 3 (USB-C) to Thunderbolt 2 Adapter; external Dell 5K was connected directly to the GTX 980 Ti's DisplayPort and resolution set to 3840x2160
rMBP Pro 460 - Factory discrete AMD Radeon Pro 460 (4G) GPU inside the 'late 2016' MacBook Pro.
Test Mule: 'late 2016' Retina MacBook Pro 15-inch, 2.9GHz Core i7-6920HQ, 16G of 2133MHz LPDDR3 memory, AMD Radeon Pro 460 (4G) GPU, 1TB flash storage
Blender - Lets you choose either OpenCL, CUDA, or CPU to render a 3D Scene. The factory Radeon Pro 460 rendered the BMW GPU Demo scene using OpenCL. The GeForce GTX 980 Ti in the BizonBOX 2 rendered it using CUDA.
(LOWER TIME IN SECONDS = FASTER)
Geekbench 4 GPU Compute Benchmark - The factory Radeon Pro 460 rendered using OpenCL. The GeForce GTX 980 Ti in the BizonBOX 2 rendered using CUDA.
(HIGHER SCORE = FASTER)
LuxMark 3 OpenCL - Both the factory Radeon Pro 460 inside the MacBook Pro and the GeForce GTX 980 Ti inside the BizonBOX 2 rendered using OpenCL.
(HIGHER KSamples per Second = FASTER)
Valley OpenGL Benchmark using Extreme HD Preset
(HIGHER FRAMES PER SECOND = FASTER)
Tomb Raider Built-in Benchmark using High Preset
(HIGHER FRAMES PER SECOND = FASTER)
DaVinci Resolve - Candle project playback renders Noise Reduction Node (1NR) on-the-fly. The factory Radeon Pro 460 rendered using OpenCL. The GeForce GTX 980 Ti in the BizonBOX 2 rendered using CUDA.
(HIGHER FRAMES PER SECOND = FASTER)
WHAT DID WE LEARN?
Even installed in a bandwidth challenged Thunderbolt 2 based GPU Expander, the NVIDIA GeForce GTX 980 Ti was able to boost GPU performance far beyond that of the factory discrete AMD Radeon Pro 460 GPU in the newest, most powerful 'late 2016' MacBook Pro.
To some it may seem odd that the internal GPU with 10GB/s Device-to-Host bandwidth would not compete better against the external GPU limited by 1.3GB/s Device-to-Host bandwidth (reported by CUDA-Z). But unless there is constant chatter between the CPU and GPU, bandwidth is not a major factor in performance.
"DO I NEED AN EXTERNAL DISPLAY?"
It depends on the apps you run. DaVinci Resolve, After Effects, Premiere Pro, Blender, Octane Render, and PhotoZoom all detected the CUDA capable GTX 980 Ti without the Dell 5K display connected to directly to it. Other apps ignored it including Photoshop, Lightroom, and Tomb Raider (and other games).
BTW, when we benchmarked the apps that recognize the GTX 980 Ti without the external display, they performed just as fast.
NOTE: We also learned that the BizonBOX 2 does not like to sleep -- as in kernel panic. Pobody's nerfect.
MORE eGPUs to COME
When we obtain a sample, we plan to re-visit this 'shootout' using the Thunderbolt 3 version of the BizonBOX GPU Expander with 2.6GB/s Device-to-Host bandwidth. Meanwhile, check out our test results using the Thunderbolt 3 based AKiTiO Node eGFX Box.
Comments? Suggestions? Feel free to email me,
Follow me on Twitter @barefeats