NVIDIA Pascal GPU in eGPU now runs under High Sierra
October 19th, 2017, by rob-ART morgan, mad scientist
We have High Sierra (macOS 10.13) NVIDIA web drivers. As of yesterday, we have a new version of CUDA (9.0.214) that works under High Sierra. But we were saddened when we could NOT run Pascal NVIDIA GPUs in an eGPU box. But our sadness turned to joy when MacVidCards sent us a TITAN Xp whose ROM enables eGPU on both High Sierra and Windows 10. It even allows boot screens and boot volume selection. We are back in CUDA 'land.'
nMP TITAN Xp Win10 - NVIDIA GeForce TITAN Xp in AKiTiO Node eGFX Box connected to 2013 Mac Pro Thunderbolt 2 port and running Windows 10; main display was a Dell 5K U2715K connected via Display Port of the TITAN Xp
nMP TITAN Xp - NVIDIA GeForce TITAN Xp in AKiTiO Node eGFX Box connected to 2013 Mac Pro Thunderbolt 2 port and running macOS High Sierra; main display was a Dell 5K U2715K connected via Display Port of the TITAN Xp
nMP Dual D700s - AMD FirePro D700s inside the 2013 Mac Pro running macOS High Sierra; main display was an LG UltraFine 5K connected via Thunderbolt 2 port
cMP TITAN Xp - NVIDIA GeForce TITAN Xp installed x16 PCIe 2.0 slot of 2010 Mac Pro and running macOS High Sierra; main display was a Dell 5K U2715K connected via Display Port of the TITAN Xp
TEST MULE SPECS: 2013 Mac Pro cylinder (3.0GHz 8-core Xeon, 64G of RAM) and 2010 Mac Pro tower (3.33GHz 12-core Xeon, 96G of RAM).
FIRST SOME CUDA CAPABLE APPS
DaVinci Resolve 14 (CUDA vs OpenCL) - Using popular Candle Standard Project, we measured the speed of playback while rendering Noise Reduction Node (1NR) on-the-fly. GPU Processing mode can be manually set to OpenCL, CUDA, or Metal. (HIGHER frames per second = FASTER)
NOTE: The top bar in the graph shows how much faster the TITAN Xp ran under macOS 10.12.6 Sierra when the main display was an LG UltraFine 5K display connected directly to the 2013 Mac Pro's TB2 port. Contrast that with the second bar where the main display was a Dell 5K U2715K display connected via DP cable to the TITAN Xp in the Node eGPU.
This highlights the vulnerability of DaVinci Resolve to constricted bandwidth of the eGPU connection via Thunderbolt 2. Not all apps are sensitive to lower bandwidth as you will see in the some of the other graphs.
Blender 2.79 (CUDA)
This is an open source 3D renderer. You can set Compute Device set to OpenCL, CUDA, or CPU. If you choose OpenCL or CUDA, you can choose which GPU (or GPUs) to do the rendering. We chose CUDA rendering for the BMW GPU benchmark available in Blender Demo Files. (LOWEST time in seconds = FASTEST)
Octane Render 3 DEMO (CUDA)
This is a "GPU only" standalone renderer that can process scenes created in and exported from Maya, ArchiCAD, Cinema 4D, etc. -- and does so in a fraction of the time it takes with a CPU based renderer. However, it only works with CUDA capable NVIDIA graphics cards. Our test scene is octane_benchmark.ocs (see "Additional Downloads - Get some simple test scenes here). For our test we selected RenderTarget PT (Path Tracing). The render time is tracked and displayed in total seconds. (LOWEST time in seconds = FASTEST)
NOW FOR SOME GAME BENCHMARKS
Tomb Raider (OpenGL for macOS Direct X for Windows)
Using the built-in benchmark, we ran at 2560x1440 Fullscreen using High preset.
X-Plane 11 (OpenGL for macOS, DirectX for Windows)
Using Terminal commands, we 'relived' a 2 minute flight of the SR-71 taking off low over pine trees and making a slow turn though broken clouds before doing a barrel roll. Settings were 2560x1440 Fullscreen, high quality with anti-aliasing (fps_test=3), and using CIRCLE view. (HIGHER frames per second = FASTER)
WHAT DID WE LEARN?
"Where there's a will, there's a way." There is a strong desire among the Mac owners for performance options. Being able to attach an external NVIDIA GPU to a 2013 Mac Pro (or other 'enclosed' Mac) is a useful and viable performance option, considering the internal AMD FirePro GPUs are 'land locked.'
Apps like Resolve and Blender can run under both CUDA and OpenCL but they do GPU intensive rendering faster using CUDA. Apps like Octane Render ONLY with CUDA capable GPUs (aka NVIDIA).
The Dell 5K display we used with dual DP cables was running in 5K mode (5120x2880 and various scaled resolutions). With one DP cable, it runs in 4K (3840x2160) mode.
Why do users crave the NVIDIA GPU option for the Mac? Because NVIDIA GPUs provide maximum flexibility in that they support OpenCL, CUDA, Metal, OpenGL, DirectX, and more.
BONUS: Being able to run Windows 10 in a Boot Camp partition and access that external NVIDIA GPU is another welcome performance option, especially for hard-core gamers who want to run DirectX based games that typically run faster than under macOS and OpenGL. Take another look at the game graphs. Even bandwdth constricted by an eGPU, the Windows 10 versions of Tomb Raider and X-Plane blow away both Mac Pros running macOS versions.
There are some caveats:
1. The bandwidth issue with DaVinci Resolve demonstrated in the first graph could be solved by having a second display connected directly to the 2013 Mac Pro's Thunderbolt 2 port. However, when the eGPU with the TITAN Xp was active, we could only use the external Dell 5K display connected directly to the eGPU. If we connected a display to any other TB2 port on the 2013 Mac Pro, both screens went black. MacVidCards is exploring a solution.
2. Possibly related to above, when we connected any TB2 storage device to the Mac Pro cylinder while using the eGPU + TITAN Xp, the screen went black. That obviously needs attention, too.
3. You must use an eGPU box that does NOT require you to run tb3_enabler script. The AKiTiO Node and the Sonnet Breakaway are examples that do not require the enabler script and both worked well with our setup.
A big 'Mahalo' to MacVidCards and Netkas for developing the eGPU ROM that enables the eGPU to work with NVIDIA GPUs under High Sierra. MacVidCards promised to pursue a solution to caveats 1 and 2.
And, yes, we plan to try the same setup on recent iMac 5Ks and MacBook Pros.
Comments? Suggestions? Feel free to email me,
Follow me on Twitter @barefeats