Using an eGPU on macOS
eGPU support coming to macOS has been one of the best-overlooked features of the latest OS. Regardless of laptop or desktop setup, you can now have a GPU to accelerate everything from gaming to machine learning.
While Apple does have a great document on this, I have found there are still questions I get when discussing eGPU support on macOS.
Picking an eGPU
You have two options when first looking into getting a GPU. Will you get an all-in-one solution that provides a closed off black box with a GPU in it, or will you go for the build your option where you need to pick out an enclosure and you GPU?
There are only a few options currently for all-in-one solutions.
|Blackmagic||Pro 580 or Vega 56||Up to 85w||Yes||link|
|Sonnet||560 or 570||Up to 45w||No||link|
While you are sacrificing upgradability with all-in-one solutions, you get a compact form factor, and in the case of Blackmagic, you also get USB ports added to your computer so it can serve as your docking station.
Enclosure and Card Combo
When picking an enclosure and card, I recommend figuring out your card first as the power requirements of the card can limit your case selection.
At the time of writing this Apple supports a few generations of Radion GPU’s
|Model||Teir||Generations Old||PSU Category|
|RX 470||Mid Range||2||1|
|RX 480||Mid Range||2||1|
|RX 570||Mid Range||1||1|
|RX 580||Mid Range||1||1|
|RX Vega 56||High End||1||2|
|RX Vega 64||High End||1||3|
|RX Vega Frontier Edition||Prosumer||1||3|
|Pro WX 7100||Professional||2||1|
|Pro WX 9100||Professional||1||3|
Note on NVIDIA
Apple and NVIDIA have had a rocky relationship for some time. I don’t expect official support to come to macOS anytime soon. There are ways to get NVIDIA GPUs to work. However, considering the cost of enclosures and cards, I don’t recommend it. Mainly because you spend a long time fighting the setup and with every new update you risk breaking the system.
If you are trying to use the CUDA framework from NVIDIA for machine learning while NVIDIA does offer CUDA drivers for macOS, they have not released Mojave drivers as of writing this complicating getting started further.
While most enclosures are the same verifying mostly in looks. The main thing you want to look for is power available for the GPU. Graphics cards can eat a large amount of power. A good rule of thumb is only utilizing 60% of the power supplies max power. The closer you get to 100% the more stress you put on the power supply and shortening its lifespan. If you are using with a MacBook Pro, make sure to take into account the charge you Mac takes to stay charged.
You may have noticed in the GPU table we had a column for PSU Category. The PSU Category aligns with our table below, so you know what kind of cards are supported based on its power supply.
|Enclosure||PSU Category||Max GPU Power||Computer Charging||Link|
|PowerColor Devil Box||2||375W||Up to 60W||link|
|Sapphire Gear Box||1||300W||Up to 100W||link|
|Sonnet Breakaway Box 350||1||300W||Up to 15W||link|
|Sonnet Breakaway Box 550||2||375W||Up to 87W||link|
|Sonnet Breakaway Box 650||3||375W + 100W peak||Up to 87W||link|
|Razor Core X||3||500W||Up to 100W||link|
A note on the Sonnet 650. It can provide a sustaned 375W to the GPU, with burst of power up to another 100W. While this can be great with gaming. Long running Machine Learning or Rendering task would cause problems.
Another thing to think about is upgradability. Although you might be going with a lower powered card, for now, going with a larger enclosure gives you some more freedom in upgrading so you don’t get stuck having to replace the enclosure when you upgrade to a more power hungry card.
While Apple does have a documentation page on what cards and enclosures it supports. It is not updated very often; for instance, the Razor Core X is still not listed as a support enclosure. If you find an enclosure, you would like to check with the manufacturer. Look for Intel and Apple certification. The Razor Core X has this so I was able to trust it would work as expected on Apple’s platform.
Setup and Use
Apple made using an eGPU work like pretty much all their other products. It is as simple as plugging in the eGPU into your computer, and it is ready to go.
While the enclosure setup takes combining the enclosure and card, this is as simple as opening the case, plugging in the card, and closing the case.
Your system should handle sending things over to the eGPU while it is in use, you may prefer to know it is. With the eGPU plugged in you can right-click an application and select ‘Get Info’ you now have a new option to ‘Prefer External GPU’ on your applications.
When you are done using your eGPU or need to disconnect it, make sure you select the new icon in your menu bar and disconnect your eGPU to avoid a potential crash.
A few things are important to note about using an eGPU with your Mac.
- Your iMac or MacBook display does not benefit from the eGPU. Just like a GPU in a desktop it only benefits the monitor it is connected too.
- If you don’t plug in a monitor at all, you can still use you eGPU for compute task like machine learning or other OpenCL/Metal computer task.
- As of 10.13.4 Apple no longer supports eGPU’s on Windows in Bootcamp. However, there are unofficial ways around this.
- Some GPU’s (560 based) don’t support HDCP-protected content and does not display over the eGPU.
- Not all USB-C cables are thunderbolt 3, and not all thurnderbold 3 cables can support eGPU’s.
- Make sure when buying you are getting a 40Gb/s Thunerbold 3 cable. Also, note not all these cables support charging over the cable.
- Your enclosure should come with a compatible cable.
- When you disconnect, any app using the eGPU has to be restarted. Electron based apps connect to GPU’s even if they don’t make any use of them. This restart still happens even in a compute-task configuration. Because of this Electron apps always restart so make sure things are in an excellent spot to stop.
eGPU’s have pushed the boundaries and usefulness of ultra books and other compact computers. If you use your Mac for any, compute or render based task I highly recommend trying out an eGPU solution to augment your computer and boost your performance.