Portable NVIDIA eGPU for macbook pro?

Joined
Jan 8, 2005
Messages
668
Hey everyone so I know this is going to sound odd. I currently have a new macbook pro, and I am trying to do some gpu code prototyping in MATLAB. The problem is my macbook pro 13" does not have a GPU. I am on the go quite a bit and am looking if there is any form of a small portable GPU powered over usb-c. I don't need anything powerful at all, just something that can execute CUDA code for prototyping. I have a workhorse back at the shop I can use when it comes time to run a full load.

If this doesn't exist are there relatively cheap ways to dial into a "virtual desktop" with basic gpu support?
 

Killahurtz

Gawd
Joined
Sep 4, 2004
Messages
644
I use a Razer Core X with an Intel Nuc and it works great...but I it may be more than you are looking for...several different units out there though...good luck
 

Stoly

Supreme [H]ardness
Joined
Jul 26, 2005
Messages
6,498
Hey everyone so I know this is going to sound odd. I currently have a new macbook pro, and I am trying to do some gpu code prototyping in MATLAB. The problem is my macbook pro 13" does not have a GPU. I am on the go quite a bit and am looking if there is any form of a small portable GPU powered over usb-c. I don't need anything powerful at all, just something that can execute CUDA code for prototyping. I have a workhorse back at the shop I can use when it comes time to run a full load.

If this doesn't exist are there relatively cheap ways to dial into a "virtual desktop" with basic gpu support?
If you want to run CUDA code you're out of luck
AFAIK nvidia support on mac is pretty much non existant so your only choice is AMD, so no CUDA just OPENCL.

Unless you run windows on the MAC. Then you could run pretty much any recent card.
 

defaultluser

[H]F Junkie
Joined
Jan 14, 2006
Messages
13,003
If you want to run CUDA code you're out of luck
AFAIK nvidia support on mac is pretty much non existant so your only choice is AMD, so no CUDA just OPENCL.

Unless you run windows on the MAC. Then you could run pretty much any recent card.
Right, Apple is publicly denying allowing the Nvidia driver on the latest MacOS. That means they will probably NEVER be allowed back on the platform.

https://appleinsider.com/articles/19/01/18/apples-management-doesnt-want-nvidia-support-in-macos-and-thats-a-bad-sign-for-the-mac-pro

Welcome back to the wonders of Closed Platform Unix, may I take your order? If you can, I would ditch MacOS for either Windows or Linux before they sink their pincers in deep.

Yeah, you CAN buy an eGPU for your Mac....but you'd better get used it having an AMD logo on it!
After Apple failed to make Nvidia use OpenCL 2.0, they decided to kick them BOTH to the curb for their own Metal. Welcome to Apple: the company that creates THE FIRST SUCCESSFUL open-standard GPU compute language, then abandons it the following year for...a closed standard (to compete with CUDA).
 
Last edited:

UnknownSouljer

Supreme [H]ardness
Joined
Sep 24, 2001
Messages
6,174
Hey everyone so I know this is going to sound odd. I currently have a new macbook pro, and I am trying to do some gpu code prototyping in MATLAB. The problem is my macbook pro 13" does not have a GPU. I am on the go quite a bit and am looking if there is any form of a small portable GPU powered over usb-c. I don't need anything powerful at all, just something that can execute CUDA code for prototyping. I have a workhorse back at the shop I can use when it comes time to run a full load.

If this doesn't exist are there relatively cheap ways to dial into a "virtual desktop" with basic gpu support?
Getting an eGPU setup on macOS is pretty painless provided you have a compatible Mac with Thunderbolt 3. However, nVidia graphics cards are basically a no-go on the Platform as is Cuda and every other API that isn't Metal. For further notes, see the discussion below.

As far as I know without running full blown VMware, it's not possible to allocate a GPU to a virtual machine. VMware Fusion uses Metal as an intermediary layer without direct GPU access for the virtual machine.


Right, Apple is publicly denying allowing the Nvidia driver on the latest MacOS. That means they will probably NEVER be allowed back on the platform.

https://appleinsider.com/articles/19/01/18/apples-management-doesnt-want-nvidia-support-in-macos-and-thats-a-bad-sign-for-the-mac-pro

Welcome back to the wonders of Closed Platform Unix, may I take your order? If you can, I would ditch MacOS for either Windows or Linux before they sink their pincers in deep.

Yeah, you CAN buy an eGPU for your Mac....but you'd better get used it having an AMD logo on it!
After Apple failed to make Nvidia use OpenCL 2.0, they decided to kick them BOTH to the curb for their own Metal. Welcome to Apple: the company that creates THE FIRST SUCCESSFUL open-standard GPU compute language, then abandons it the following year for...a closed standard (to compete with CUDA).
While your history of OpenCL is "technically" true, it's not a complete picture.
While Apple created OpenCL, they gave the source code to Khronos group at version 1, which is similar to what AMD did with Vulkan. Every update to OpenCL since version 1 was not directly done by Apple engineers, much like anything after v1 of Vulkan wasn't done by AMD engineers.
The second major thing to note is that OpenCL has more or less been depreciated by Apple since 2011, when Apple stopped updating it in macOS, more or less signaling to devs to not code anything for macOS in OpenCL.
The third thing is that technically even in Catalina, macOS continues to support OpenCL v1.2, which as mentioned before hand is from 2011. Catalina has officially depreciated OpenCL with Catalina and it's likely that OpenCL support will officially be removed in the next major version of macOS.

Finally and perhaps most importantly there is MoltenVK which is a translation layer, which maps Vulkan (which is the new common language combining relevant parts of OpenGL and OpenCL as well as being a low-level API amongst other things) to Metal. There is very little overhead and MoltenVK has been shown in fact to be faster than OpenGL running natively.
I have a sneaking suspicion as things go multi-platform that this is one of the ways that things will get "ported" to macOS. It's also worth noting as well that Metal is based on C++. It's probably one of the easiest programming languages for devs to learn and use. For a "proprietary API", Apple has made Metal as accessible as possible to devs.

As for your commentary about Windows, I would say the only other viable OS option would be Linux. Microsoft is selling all user data wholesale, and even if you don't have a problem with that, their OS' aren't stable. Windows 10 has had the same problems for years and now even some new ones.
GPU drivers are still not seamless and a hassle. It's more than possible to break the OS through driver updates or from parts of code getting left behind.
Windows Update is worse than it has ever been before. Updates are forced and it can take massive amounts of time to figure out what update broke things if multiple are pushed at the same time. You're welcomed to go to the OS subforum and have discussions with people managing computers for more on that particular headache.
I also just generally find Windows 10 to be buggy and optimized, which is what happens when the support base in not only hardware but also in API's is massive. It's true, you can run basically anything on Windows, but that has come at the detriment of user experience and stability.
Windows will always require formatting the machine, likely multiple times in the service life of a computer. Hell after things got broken so bad I had to do it twice in a month.

I ran into all of these problems while just trying to maintain a partition to ONLY play games on. Not even do real work. Windows always finds a way of reminding me why I moved to Macs in the first place in 2008. Having to spend literally hours fixing and configuring machines just so they work properly, rather than working out of the box isn't worth my time. My operating system is supposed to get out of my way so I can get done what needs to get done. Say what you will about closed systems, but Apple's policies have made all code on the system and what will be supported by coders incredibly clear. The slow move to Metal for everything starting in 2013 and finally closing the loop in 2019 has only made relevant apps work faster and more efficiently. Catalina was a seriously clean update. Removing support for 32-bit apps was probably the biggest change since removing support of Rosetta. But as Apple hacks off these limbs of support from the past, as I noted, the faster/cleaner future awaits. Next year it will be the remnants of OpenGL and OpenCL support. And removing legacy components as well as giving clear coding standardization is something that Microsoft is either unwilling or unable to do.
As a result, I rarely if ever have to deal with any totally breaking bugs. I put in that qualifier only as a way to be open to the possibility that I could run into one. I haven't had a OS system level crash in quite some time, however. Nor have I had to do any real maintenance to the OS, in terms of things that required user intervention. macOS keep on quietly ticking away with updates, services packs, and revisions every-year like clock work requiring next to nothing from me.
In fact, I'm glad that there has been definitely a renewal at Apple specifically in their OS dev teams as well as in hardware development for Mac. After Steve Jobs died there was a period of uncertainty, but I would say the direction has become quite clear now in both Software and Hardware for desktop. Which is also something that Microsoft isn't clear with. It's just a way to feed ads and sell data with very little care for user experience, platform development, or curation.

It's true that I have to buy into Apple's system and it prohibits me from doing "whatever I want", that is if I want to run nVidia cards or run certain code bases. But I much prefer the alternative solutions on macOS versus the freedom of running everything in the Hell that is Windows. Thank God Apple got rid of Flash.

Linux is legitimately another option in terms of OS to run. But that is an entirely different bag of worms to have to go through. It's also not plug and play and whether you have certain cards that will be supported and drivers for them is another hassle entirely.

At any rate, pick your poison. If it's Windows, that's fine. There are plenty of legitimate reasons to run it. I would base most of them around software that needs to be run and workflows. Unfortunately Windows remains the only alternative if you want to do certain things. As much as you hate Apple for their closed system with closed API's, Microsoft with DirectX remains a strangle hold on development of games and their continued choice to run it over open source alternatives is one of the reasons why games aren't on more platforms.
 
Last edited:

defaultluser

[H]F Junkie
Joined
Jan 14, 2006
Messages
13,003
Getting an eGPU setup on macOS is pretty painless provided you have a compatible Mac with Thunderbolt 3. However, nVidia graphics cards are basically a no-go on the Platform as is Cuda and every other API that isn't Metal. For further notes, see the discussion below.

As far as I know without running full blown VMware, it's not possible to allocate a GPU to a virtual machine. VMware Fusion uses Metal as an intermediary layer without direct GPU access for the virtual machine.



While your history of OpenCL is "technically" true, it's not a complete picture.
While Apple created OpenCL, they gave the source code to Khronos group at version 1, which is similar to what AMD did with Vulkan. Every update to OpenCL since version 1 was not directly done by Apple engineers, much like anything after v1 of Vulkan wasn't done by AMD engineers.
The second major thing to note is that OpenCL has more or less been depreciated by Apple since 2011, when Apple stopped updating it in macOS, more or less signaling to devs to not code anything for macOS in OpenCL.
The third thing is that technically even in Catalina, macOS continues to support OpenCL v1.2, which as mentioned before hand is from 2011. Catalina has officially depreciated OpenCL with Catalina and it's likely that OpenCL support will officially be removed in the next major version of macOS.

Finally and perhaps most importantly there is MoltenVK which is a translation layer, which maps Vulkan (which is the new common language combining relevant parts of OpenGL and OpenCL as well as being a low-level API amongst other things) to Metal. There is very little overhead and MoltenVK has been shown in fact to be faster than OpenGL running natively.
I have a sneaking suspicion as things go multi-platform that this is one of the ways that things will get "ported" to macOS. It's also worth noting as well that Metal is based on C++. It's probably one of the easiest programming languages for devs to learn and use. For a "proprietary API", Apple has made Metal as accessible as possible to devs.

As for your commentary about Windows, I would say the only other viable OS option would be Linux. Microsoft is selling all user data wholesale, and even if you don't have a problem with that, their OS' aren't stable. Windows 10 has had the same problems for years and now even some new ones.
GPU drivers are still not seamless and a hassle. It's more than possible to break the OS through driver updates or from parts of code getting left behind.
Windows Update is worse than it has ever been before. Updates are forced and it can take massive amounts of time to figure out what update broke things if multiple are pushed at the same time. You're welcomed to go to the OS subforum and have discussions with people managing computers for more on that particular headache.
I also just generally find Windows 10 to be buggy and optimized, which is what happens when the support base in not only hardware but also in API's is massive. It's true, you can run basically anything on Windows, but that has come at the detriment of user experience and stability.
Windows will always require formatting the machine, likely multiple times in the service life of a computer. Hell after things got broken so bad I had to do it twice in a month.

I ran into all of these problems while just trying to maintain a partition to ONLY play games on. Not even do real work. Windows always finds a way of reminding me why I moved to Macs in the first place in 2008. Having to spend literally hours fixing and configuring machines just so they work properly, rather than working out of the box isn't worth my time. My operating system is supposed to get out of my way so I can get done what needs to get done. Say what you will about closed systems, but Apple's policies have made all code on the system and what will be supported by coders incredibly clear. The slow move to Metal for everything starting in 2013 and finally closing the loop in 2019 has only made relevant apps work faster and more efficiently. Catalina was a seriously clean update. Removing support for 32-bit apps was probably the biggest change since removing support of Rosetta. But as Apple hacks off these limbs of support from the past, as I noted, the faster/cleaner future awaits. Next year it will be the remnants of OpenGL and OpenCL support. And removing legacy components as well as giving clear coding standardization is something that Microsoft is either unwilling or unable to do.
As a result, I rarely if ever have to deal with any totally breaking bugs. I put in that qualifier only as a way to be open to the possibility that I could run into one. I haven't had a OS system level crash in quite some time, however. Nor have I had to do any real maintenance to the OS, in terms of things that required user intervention. macOS keep on quietly ticking away with updates, services packs, and revisions every-year like clock work requiring next to nothing from me.
In fact, I'm glad that there has been definitely a renewal at Apple specifically in their OS dev teams as well as in hardware development for Mac. After Steve Jobs died there was a period of uncertainty, but I would say the direction has become quite clear now in both Software and Hardware for desktop. Which is also something that Microsoft isn't clear with. It's just a way to feed ads and sell data with very little care for user experience, platform development, or curation.

It's true that I have to buy into Apple's system and it prohibits me from doing "whatever I want", that is if I want to run nVidia cards or run certain code bases. But I much prefer the alternative solutions on macOS versus the freedom of running everything in the Hell that is Windows. Thank God Apple got rid of Flash.

Linux is legitimately another option in terms of OS to run. But that is an entirely different bag of worms to have to go through. It's also not plug and play and whether you have certain cards that will be supported and drivers for them is another hassle entirely.

At any rate, pick your poison. If it's Windows, that's fine. There are plenty of legitimate reasons to run it. I would base most of them around software that needs to be run and workflows. Unfortunately Windows remains the only alternative if you want to do certain things. As much as you hate Apple for their closed system with closed API's, Microsoft with DirectX remains a strangle hold on development of games and their continued choice to run it over open source alternatives is one of the reasons why games aren't on more platforms.
So, in summary: since you can't be bothered to learn hiow to configure your PC, let's write a fucking novel about how you fell in love with the Ghost of Steve Jobs, and are having his manbabies :D

You can't just pave over the Control freak that is Apple. They have too long a history of doing their own thing, and making their users Feel The Pain Of This Closed Platform, and pretend they like it. After all, "so thin it's painful to use" is their latest trend!

The problem with Apple is, the OS and hardware are attached at the hip - once you get addicted to one (the easy OS), you're forced to adopt the other, more-shitty side (the overpriced, under-performing, gimmicky hardware).

Even the IOS developers are locked-in (can only develop on Mac). That's a very high price to pay, when Cross-compilers /simulators have been a thing since the dawn of time.
 
Last edited:

UnknownSouljer

Supreme [H]ardness
Joined
Sep 24, 2001
Messages
6,174
So, in summary: since you can't be bothered to learn hiow to configure your PC, let's write a fucking novel about how you fell in love with the Ghost of Steve Jobs, and are having his manbabies :D
You have trouble with reading comprehension or you have the attention span of the collective tl;dr internet.
But to respond to your snarkyness in a direct manner, no, as I stated the issue isn't with me. I've used Windows from 95-7 as my primary operating system (and before that I used DOS, my first OS was DOS 4.2.2). I've done more with PC's than most on this board. I worked as an editor for a lesser known now defunct PC hardware review site called "Viperlair". I've overclocked. I've water cooled. I've case modded. I was as ingrained into PC culture as one can possibly be.
And also to add and reiterate, I'd like you to have a conversation with every sys-admin who has to manage Windows 10 PC's and tell them that every time Windows breaks that it's their fault they don't know how to configure it properly. You can start on these boards. Please feel free to tell everyone with an OS problem that they need to "get gud" and learn how to configure a PC.

You can't just pave over the Control freak that is Apple. They have too long a history of doing their own thing, and making their users Feel The Pain Of This Closed Platform, and pretend they like it. After all, "so thin it's painful to use" is their latest trend!
I said, pick your poison. You're so deluded by your Microsoft overlords that you believe that you have any semblance of control. The truth is Windows owns the PC desktop space. People aren't going to Best Buy and buying Linux boxes. No matter what PC you build the stats tell us the likely hood that you install anything other than Windows is <1%.
You don't control the direction that Windows goes. When Microsoft decided to not put DX12 on Windows 7 arbitrarily in order to force their user base to move to Windows 10 so they could have telemetry over everything, basically every PC user that games had to take it in the ass. And as they have now depreciated Windows 7 you can also enjoy not having any real support (unless you want to pay money for every license in the IT world every year to get up to 3 more years of support). Sure you can continue to run it, but enjoy how Windows has decided to not allow or give driver packages to Windows 7 anymore either. For as much control as you think you have, to reiterate: you have none. But you're obsessed with the illusion that you're not getting that level of pain. Enjoy updates getting pushed onto your system that break things with no system admin level control.

Windows is also the OS for control freaks who love their monopolies and want to fight it out on the free market. You act like Apple is the only company "forcing" hardware on you to run their stuff, when we're literally in a thread asking about CUDA support. Windows and companies building for that platform are all about grabbing money for themselves and forcing end users to come along for the ride. If I want to run MATLAB without a CUDA card then I'm shooting myself in the foot. But yeah, when Apple curates and gives direction by limiting code bases and picking a superior one that is easy to code for and port to, then they're evil.

The problem with Apple is, the OS and hardware are attached at the hip - once you get addicted to one (the easy OS), you're forced to adopt the other, more-shitty side (the overpriced, under-performing, gimmicky hardware).
That's also true with Windows hardware. You're beholden. Whatever hardware you buy you're gonna be stuck with Windows. On my Mac I at least can choose between that and another fully built OS. And VM both or boot into both if I want.
As far as their hardware is concerned, it's actually not marked up nearly as much as every PC hater wants to say it is. Especially considering that it is 100% custom, something that OEM manufacturers on the PC side could only dream of. And guess what, when PC's are built to comparable levels they cost roughly what Macs cost. You can look at ultra-portables as a great example which Apple more or less invented. You can look at Microsoft's surface line, not only things like the Surface book, but also the Surface Studio which was essentially a PC version of an iMac. Surprise surprise it basically costed the same.
PC users say this bull all the time especially when looking at things like the Mac Pro, ignoring the fact that the processors alone from Intel cost more than their entire machines. And comparable workstations from HP and Dell cost the same. But Apple's workstation gets more press than a PC one. If I started a thread every time I configured a Dell or HP to $80k it wouldn't get half as many downvotes, most would probably think it was cool or funny. Apple tax is by in large a myth. You have to be searching for it to find it, and for every time you do I could find twice as many PC OEMs doing the exact same things or worse.
Integrated hardware isn't a gimmick. It's the only way to really get what you're paying for. All computers are disposable. They have a shelf life of at most 5 years. In the IT world it's around 3. If you get your jollies because you can upgrade every component in a machine that you'll have to replace in a relatively short span anyway, go ahead. But the charm of modifying everything is done for me. I care about getting real work done and not having an operating system that steals data from me, is buggy garbage, and is a security nightmare.
Also the Mac Pro is the fastest workstation that money can buy for those that need it. There isn't the same PC integration to get 4x Vega II's (in tandem via infinity fabric) running on 2x 32-lane PCI-E 3 anywhere on the PC side. Nor will any workstation on the PC side have access to near as much Thunderbolt 3. Then also have it crush everything while being whisper quiet and never throttling. You can talk as much shit about Apple as you want, but the MPX modules they created are an engineering feat. One that could only be accomplished by a company like Apple not using off the shelf components and instead actually creating fully integrated custom hardware. And that ain't cheap or easy. If you want to render 4x 8k RAW streams simultaneously in real time without ever having a hitch, there isn't another machine that can do that. You'll have to change your definition of under-performing significantly, or include every PC from every OEM.

EDIT: Also as another side note, one of the major advances that Apple has pushed has been for EGPU's. As long as you have a Thunderbolt 3 port and an enclosure, I can plug and play whatever I want without any major fuss. Granted it more or less has to be an AMD card, but considering that nVidia has no advantages in terms of code base in macOS, it doesn't really matter. Radeon VII is the superior compute card anyway. And the Instinct top end is also fantastic for pros that need it.
So, I say all this to say, it isn't necessary to even buy top end hardware from Apple. It's more than possible to simply buy a 13" Macbook Pro like the OP has for $1200-1500, buy an eGPU and then have a single system that is portable and light and when he goes home to plug it in, also has all the GPU power necessary. The hardware limitation whether perceived or not deteriorates with the existence of eGPUs.
I really feel like the Mac Mini will be the future for Pros that want a Mac on the cheap. A Mac Mini + EGPU offers plenty of flexibility for DAS's and all sorts of pro work with a minimal footprint and quiet work environment. This is basically the same thing as a NUC and eGPU on the PC side.

Even the IOS developers are locked-in (can only develop on Mac). That's a very high price to pay, when Cross-compilers /simulators have been a thing since the dawn of time.
If you haven't figured this out yet, everything is compromises. There are more than one reason to be on any platform. I'll say it again, if you need to run Windows software then you're stuck with Microsoft. So enjoy and good for you. Surprise surprise, if you want to run Apple stuff you have to buy Apple stuff. This isn't magic science but for some reason you have it in your head that Apple is the only one that has walls. Microsoft only has the illusion that they don't.
 
Last edited:

Factum

[H]ard|Gawd
Joined
Dec 24, 2014
Messages
1,947
I see people whine over no DX12 on windows 7 all the time...but I never see them understand the limitations of WDDM 1.1.

But the again I have heard this type of whine since Windows 3.11 was replaced by Windows 95...it gets boring after a decade....
 

UnknownSouljer

Supreme [H]ardness
Joined
Sep 24, 2001
Messages
6,174
I see people whine over no DX12 on windows 7 all the time...but I never see them understand the limitations of WDDM 1.1.

But the again I have heard this type of whine since Windows 3.11 was replaced by Windows 95...it gets boring after a decade....
https://www.anandtech.com/show/14078/microsoft-brings-dx12-to-windows-7
And if the "accusation" is "whining" then every complaint against macOS as a limitation or set of restrictions could also be called "whining". Nuance.
 
Tags
egpu
Top