agarza647
Contributor
Contributor

eGPU for performance increase inside of VMware Fusion

Jump to solution

I have started looking into eGPUs and their capabilities. My reason for using an eGPU is for coursework in CADD. I currently run a virtual machine to run the software for my classes (see list below). I have been able to run Revit 2022 successfully but I fear that as my classwork will start delving into more rendering my VM won't be able to handle the demand. One of my classmates heard me talking to an instructor about eGPUs and he offered to sell me a Razer Core X (no video card installed) at a really good price.

So here is what I am wondering:

  1. Will an eGPU work within VMware Fusion? (I have seen a few posts saying that it was added into Fusion in a preview but nothing concrete since 2 years ago.)
  2. Will the eGPU provide minimal or significant performance improvement? (I know this is relative but I don't want to waste time or money.)

Software for coursework:

  • AutoCAD 2020
  • Revit 2022
  • Inventor 2020
  • Solidworks 2021/2022
  • AutoCAD Civil 3D 2020
  • AutoCAD Plant 3D 2030
  • Rhino 6
  • 3ds Max 2020

Apple laptop specs:

  • 13" MacBook Pro (2020)
  • 1.4 GHz Quad-Core Intel Core i5
  • 16 GB RAM (shared with GPU)
  • Intel Iris Plus Graphics 645
  • 2x Thunderbolt 3 ports
  • macOS 12.3.1

Virtual Machine specs:

  • 3 cores
  • 12 GB RAM
  • Windows 10
  • VMware Fusion 12.2.3
0 Kudos
1 Solution

Accepted Solutions
Technogeezer
Champion
Champion

I believe that external GPUs are now officially supported, given the indications in the Fusion 12.0 release notes.

I'm not sure what the performance will be. My gut feeling is that it will be better than the integrated graphics in your MacBook Pro, but not sure what the overall performance will be.

My reasoning: The VM's operating system will not have direct access to the eGPU features - just as the guest does not have direct access to an on-board GPU's features. The guest will be using a VMware SVGA graphics card driver, not a vendor graphics driver. That VMware driver interfaces with the virtual graphics adapter provided by Fusion, which in turn (IIRC) is implemented using macOS Metal API calls that get executed by the GPU. The Metal API should run faster, but the end result is dependent on VMware's implementation.

A comment:  running a 4 core VM on a 4 core machine may starve the system for resources. It's recommended to use no more than n-1 cores of a host that has n cores (hyper threaded cores don't count)  to give the operating system some resources to support Fusion and anything else that might run on it.

You may also want to verify how well each of those packages run under Fusion and its available 3D support without the eGPU. Speed is one thing, functionality is another (making sure everything works as expected).

View solution in original post

11 Replies
Technogeezer
Champion
Champion

I believe that external GPUs are now officially supported, given the indications in the Fusion 12.0 release notes.

I'm not sure what the performance will be. My gut feeling is that it will be better than the integrated graphics in your MacBook Pro, but not sure what the overall performance will be.

My reasoning: The VM's operating system will not have direct access to the eGPU features - just as the guest does not have direct access to an on-board GPU's features. The guest will be using a VMware SVGA graphics card driver, not a vendor graphics driver. That VMware driver interfaces with the virtual graphics adapter provided by Fusion, which in turn (IIRC) is implemented using macOS Metal API calls that get executed by the GPU. The Metal API should run faster, but the end result is dependent on VMware's implementation.

A comment:  running a 4 core VM on a 4 core machine may starve the system for resources. It's recommended to use no more than n-1 cores of a host that has n cores (hyper threaded cores don't count)  to give the operating system some resources to support Fusion and anything else that might run on it.

You may also want to verify how well each of those packages run under Fusion and its available 3D support without the eGPU. Speed is one thing, functionality is another (making sure everything works as expected).

Technogeezer
Champion
Champion

Also, you don't say if there's a graphics card is in that Razer enclosure and if there is, what card it is. Any card you put in that enclosure needs to be listed as compatible with macOS. Razer's site indicates AMD Radeon cards are compatible, not NVIDIA.

0 Kudos
Mikero
Community Manager
Community Manager

We do support eGPU on Intel Macs.

Performance wise, it's a huge improvement, depending on the GPU you're using and what you're coming from.

Personally I have a Radeon 5700xt connected to my 6-core Mac mini and it just hauls... On par with the Radon Pro Vega in my iMac Pro.

Things are a tad noisier in my office as a result, but it's markedly faster. 

Mind you, I'm not doing things like AutoCad in VMs, so I'm a bit unsure just how the performance improvements translate to real-world usage of those tools. But anecdotally, folks who do have mentioned to me that it is a noticeable and not subtle improvement. 

Like Technogeezer said tho, only AMD cards will work, not Nvidia, just due to lack of host driver. (i.e. this is not a passthrough thing, it just uses the more powerful GPU to render guest graphics instead of the integrated one that your Mac already has, but macOS doesn't support Nvidia GPUs at all.)

That said, YMMV... If it were me, I wouldn't throw away the eGPU box until you've tested your software first and decided that the improvement is worth it. Coming from an Intel Iris GPU tho, you'll most definitely see a big improvement.

I think applying 4 cores to your VM might bottleneck a bit tho, I don't recall if that i5 supports hyper-threading so it not you're not leaving a lot of cores on the table for macOS to do it's thing. Consider 2 or 3 CPUs. (for that kind of work, you really need more RAM too, but I digress...)

-
Michael Roy - PM/PMM: Fusion & Workstation
agarza647
Contributor
Contributor

@Technogeezer The Razer enclosure is sold without a video card but I do have a list of the compatible video cards from Use an external graphics processor with your Mac. (edited original post to add this info)

0 Kudos
agarza647
Contributor
Contributor

In System Report > Hardware Overview, Hyperthreading is Enabled.

I appreciate the tips from both of you to reduce the number of cores dedicated to Fusion.

0 Kudos
bluefirestorm
Champion
Champion

@agarza647 wrote:

One of my classmates heard me talking to an instructor about eGPUs and he offered to sell me a Razer Core X (no video card installed) at a really good price.

If you classmate does not see the value of using an eGPU, it seems to be a sign that you probably won't either. Granted perhaps your classmate is not using Fusion. I would suggest go with using Bootcamp rather than Fusion if you want to reduce the overhead introduced from Apple Metal to VM DX11 translation.

0 Kudos
agarza647
Contributor
Contributor

If you classmate does not see the value of using an eGPU, it seems to be a sign that you probably won't either. Granted perhaps your classmate is not using Fusion. I would suggest go with using Bootcamp rather than Fusion if you want to reduce the overhead introduced from Apple Metal to VM DX11 translation.


It's not that he doesn't see the value, he was using the eGPU for his laptop and decided to build a desktop using the video card in the eGPU for gaming.

I opted for using Fusion, instead of Bootcamp, because the internal drive in my laptop didn't have enough space to hold my other software and host a second partition for Windows. I do have an external drive that I use as a backup drive with space for the virtual drive for Fusion.

0 Kudos
bluefirestorm
Champion
Champion

You can have Bootcamp on an external USB drive. There is a roundabout way to create it using Fusion raw partition VM. (I was able to try this a few years ago) as Windows 10 setup does not proceed with the install on an external USB drive. https://kb.vmware.com/s/article/2097401 You create first a Windows VM using raw disk partition on the USB external drive and then boot with the Option key from the Windows USB drive afterwards from the Mac device.

Apart from the Metal-to-DX11 overhead for a Fusion VM, there are threads here where Solidworks may not be happy being inside a VM (requiring some sort of registry hack).

Maybe I am biased, it seems like eGPU is a solution looking for a problem to solve. It does not help these eGPU enclosures are not cheap and generally noisy (which would then add more cost to replace the power supply, fans).

I would also think as a student you would probably have not much need for a more powerful GPU in your AutoCAD/Solidworks class work. It is a different story if you are a professional. Even if you do get an eGPU with a professional level graphics card (Nvidia Quadro or RTX A series or AMD Radeon Pro), then it makes more sense to run the GPU natively instead of as a virtual graphics device inside a VM.

0 Kudos

Before I got my M1, I used an eGPU and it made a massive difference - more than doubled my frame rates, and actually let me play Dragon age inquisition in a VM with acceptable performance (it simply choked without it).  It was better in a VM with an eGPU than in bootcamp without one.

 

In terms of buying one, remember that they only work on Intel machines, so if an upgrade to an M1 is in the future, keep that in mind.  

0 Kudos
Technogeezer
Champion
Champion

@ColoradoMarmot wrote:

In terms of buying one, remember that they only work on Intel machines, so if an upgrade to an M1 is in the future, keep that in mind.  


Or hope that Apple is someday able to enable eGPU support on Apple Silicon Macs. Will be interesting to see what the situation is when the rumored updated Mac Pro is released later this year (maybe,...) since one of the big selling points of that platform is its GPU capabilities.

 

0 Kudos
agarza647
Contributor
Contributor

I have since connected the Core X with an AMD Radeon RX 570 4GB and there is a noticeable improvement (over 300%) in the graphics performance in Revit running within Fusion.

I ran a 3DMark 11 benchmark test before and after installation with these results:

Screen Shot.png

Screen Shot 1.png

 Thank you all for your answers, comments, and suggestions.

0 Kudos