eGPUs: External GPUs

To bridge the gap between the – often – mutually exclusive areas of portability and power I opted to include a Sonnet Breakaway 550w enclosure (on the left) and a Radeon RX 580 8GB card as part of my new equipment refresh.

The idea behind this was to give me the option of utilising extra graphical processing power without investing in a massive desktop workstation.

It also would allow me to offload tasks to an external graphics card, thereby preventing the laptop from overheating and frying the internal components.

Sonnet Breakaway 550w – £348.00 inc VAT

Link: Scan

This enclosure allows a DIT to connect his or her laptop to a full sized desktop graphics card allowing for increased processing power.

There are two varieties: 350w and 550w. The latter supports cards that require a higher power draw while simultaneously offering 100w of upstream power.

So… Is it worth it?

In a word: yes.

When relying on the internal Radeon 560 4GB GPU a top-spec stock 2017 Macbook Pro can’t play 3.4k ArrRAW footage (24 fps) at full resolution, even without a grade applied. At least smoothly (see above).

But with a eGPU enclosure running a Radeon RX 580 8GB it can not only play it smoothly but also transcode it to MXF DNxHD 36 (slightly) faster than real-time.

Check out the screenshot below:

For an 11 second clip the eGPU (Job 2) not only gives me real-time playback but also (slightly) faster than real-time processing when compared with the built-in GPU (Job 1).

So the eGPU essentially doubles what I can process on location. Which is VERY useful when working on multi-cam shoots that require a quick turnaround.

NB: Source footage can be found here:

Davinci Resolve settings

Source: Arriraw 3.4k @ 24 fps (11 seconds)
Destination: DNxHD 36 (MXF wrapper)

Machine Specs

Laptop: Macbook Pro 2017 (16gb RAM, Radeon 560 4GB, 500GB SSD)
Enclosure: Sonnet Breakaway 550w
eGPU: Radeon RX 580 8GB
Software: Davinci Resolve

What are the problems?

Some codecs are CPU bound meaning processing times are entirely dependent on your CPU and not your GPU (internal or external). This is certainly true* of codecs like h264 and the newer HEVC (h265).

* Not entirely, but best not to assume your graphics card supports it. CPUs are more likely to have support. In fact the Kaby Lake processors in the MBP 2017 have built in acceleration for both.

As fast as it is thunderbolt 3 does not have enough bandwidth to provide you with 100% of your graphic’s card performance. I’ve seen estimates saying low to mid range cards get hit with a 10% performance penalty and high-end cards with a 30% penalty.
Support on OSX is new (translation: buggy) with eGPU support only available with the High Sierra operating system (10.13). Example of the lack of native support: Your machine won’t switch to the eGPU without forcing it to by connecting an external monitor (it still didn’t work for me) or selecting it directly within the software.
You have to use specific thunderbolt 3 cables in order to get full bandwidth (40 gbps) and upstream power (meaning you can power the laptop through the enclosure, thereby ensuring you don’t lose a port to the power adapter). It comes with one but it is far too short to be useful, so make sure you find an active (not passive) cable that supports 100w of power. The cheapest 2m cable I’ve seen costs £50.

Installation woes

NB: For the Radeon RX 580 no drivers are required. But you will need one for 9 and 10 series NVIDIA GPUs (which Nvidia provide).

When first connecting the enclosure I couldn’t figure out how to get the laptop to natively use the graphics card. In fact I still can’t.

It can see it as an option but it seems the support for it as a usable device is dependent on third party software. That means that (for now) you’ll be stuck with software that is able to recognise and make use of multiple graphics cards. In this case: Davinci Resolve.

The free version only supports one GPU. After watching the machine crash multiple times I finally figured out that you’ve got to select these settings within the Davinci Resolve hardware preferences:

GPU processing mode: Metal

GPU selection mode: Auto

FYI: Metal is the Apple-only programming framework that allows software to use the power of eGPUs. But software developers have to make use of it before it can be used.

If you don’t then you’ll likely be stuck with the internal GPU. Or if you manually deselect the internal GPU and select the eGPU then your Davinci Resolve projects won’t open when its not attached because it can’t see a usable GPU (logs will show a GPUManager fault).

One final thought

eGPUs show a lot of promise when it comes to laptop based heavy transcoding. By using them the internal GPU doesn’t overheat and get throttled (lowers speed to reduce heat) meaning your laptop remains stable for a lot longer.

However the support is still new among Apple machines so the implementation is buggy and prone to teething problems.

BUT… Despite that I am able to get real-time arriraw processing and playback on a computer that was unable to do so before. That opens up a lot more employment opportunities for me.

And in the end that makes it all worthwhile.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.