> Threadripper with many NVidia GPUs as well?
Yes, it works with Threadripper, but not with NVidia GPUs, but that's because regular Macs don't work with NVidia GPUs as well. My understanding is that it's a standoff between NVidia and Apple largely due to NVidia's poor behaviour the last time NVidia was included in Macbook Pros around 2012.
Yes, I have one of those famed 15” rMBPs that many devs say “over my dead body” when you suggest upgrading to a newer model. Zero GPU complaints after the initial bugs were ironed out (and the bad batches replaced).
Note that AMD offered virtually no competition to nVidia in either the mobile or the workstation configurations (power or efficiency) up until at least the availability of the R9 Fury a couple of years ago.
The technical background for this is that Metal and OpenGL acceleration requires the GPU driver bundle to be loaded into a process's address space. (effectively a dynamic library) With 10.14, Apple has enabled the "library-validation" codesigning flag just about everywhere, which means that only libraries signed by the same developer as the process's main executable or by Apple can be loaded into a process. Hence, 3rd party GPU drivers won't load in WindowServer for example, which makes them dead in the water.
Apple could of course implement an exception or sign Nvidia's driver, but so far it looks like they're not interested. Perhaps there will be a solution to coincide with release of the new Mac Pro which once again contains PCIe slots you conceivably might want to fill with Nvidia cards, but I wouldn't count on it.
(FWIW, my company maintains the macOS driver for one of 2(?) manufacturers of USB graphics adapter chips, so I have a pretty good idea of how the macOS graphics stack works.)
One of their highest priorities at the moment appears to be to remove any 3rd party code running in the context of Apple processes. For examples, you don't need to look far: kext -> DriverKit/System Extension transition, hardened runtime, etc. The Nvidia driver breaking is just a consequence of that increasing lockdown. The simplest solution would be to allow nvidia's code to run in the context of core system and user processes again (kernel, WindowServer, just about any GUI app) which presumably is not palatable to them or they wouldn't have made the change in the first place. The alternative would be to farm this type of driver out into a sandboxed user process. (Nowadays this means DriverKit.) Aside from potential performance issues, this would be a lot of work, so it's probably never going to happen unless literally millions of end users start complaining.
This left the major computer vendors (Dell/HP/Apple etc) with very large bills due to the high failure rate of these Nvidia GPUs in laptops. It was right after this that Apple stopped using Nvidia, I've always assumed bad blood over this was a major factor.
The cost to Nvidia ended up in the hundreds of millions (based on charges one can see in quarterly filings from this time), the total cost of the failures industry wide is pretty hard to establish given laptop manufacturers weren't exactly in a rush to let customers know the extent of the issues...
https://www.macworld.com/article/1154456/nvidiagpu-macbookpr...