Is it time to buy an eGPU?

The buzzphrase for WWDC 2018 has been doubling-down on performance. Although Apple’s announcements and technical sessions have dwelt on other major features, including privacy, augmented reality (AR), and machine learning (ML), almost every section in the major presentations has talked about the engineering efforts that Apple is making to improve performance. And many of those have referred to the benefits of eGPUs. So is it time to buy one?

The problem

Apple doesn’t make any Macs which have the same internal expansion capability as its old towers, like the earlier ‘cheesegrater’ Mac Pro. Every Mac now comes with the graphics card specified for that particular model, often from a choice of only one or two. You’re similarly stuck with the processor which Apple offers, which is soldered in rather than socketed.

Apple and macOS developers are pushing forward into new technologies including AR and ML which can run much quicker and better on extremely fast systems. In particular, many of these can use GPUs in graphics cards to great effect. But with just the GPU in your Mac’s standard graphics card, which will now probably be a couple of years or more old, you will soon be wishing that your Mac could be accelerated. With no option to upgrade its existing CPU or internal GPU, you’re stuck.

What accelerator?

AR, ML, and other new technologies which are being boosted in macOS Mojave and beyond don’t actually need lots of fast processor cores, and benefit little from them. For most of their work, they actually run faster on GPUs, which support massively parallel processing, pipelines, and other facilities which are common to both graphics (hence designed into GPUs) and many time-consuming tasks in AR and ML.

Look on even four- and six-core CPUs at how often all their cores are well-loaded, and it’s surprisingly infrequent. Yet use some of the new features in Mojave, and adding another GPU can let them complete a rendering task, for instance, in a quarter of the time, or even less.

So if you want to bring the best performance to most fairly recent Macs, trying to replace or add to its CPU is not the best way to go: try faster and more GPUs instead. That is why macOS High Sierra 10.13.4 brought support for eGPUs.

The eGPU

Basically, an external GPU (eGPU) is a graphics card, complete with a high-performance GPU, in an external box, which you connect to a Thunderbolt 3 port at one end, and a display at the other. Depending on what it is going to be used for, you may not even need an additional display. If you’re going to have your eGPU working on proper graphics, then it will naturally be driving the display on which the graphics will appear, but if you’re using it as a computing engine for ML, say, it can run headless.

At the momemt, eGPUs are fairly specialised and novel, the choice is limited, and prices are relatively high. The cheapest starts at around £/$/€ 300, with most nearer £/$/€ 600. If they catch on, you can expect to see prices fall perhaps to around £/$/€ 200 for basic models, and there will also be high-end systems at £/$/€ 1000 or more, offering even greater processing power commensurate with the depth of your pocket.

Apple has a helpful article which explains how to get started, and lists currently supported eGPUs. One important message is relegated to a footnote which is easy to miss: if you’re using an eGPU with a 13-inch MacBook Pro, connect it to one of the left-hand Thunderbolt ports, not those on the right, for best performance.

Software support

Relatively few apps will benefit from an eGPU at present, beyond running very briskly on a second display. Those which take advantage of OpenGL or OpenCL features are likely to do best in the short-term, but Apple has announced that it is phasing out support for those platform-independent standards in Mojave. To get the best in the future, your software will need to support Apple’s own Metal 2 instead.

So you shouldn’t really expect to see significant benefits until Mojave is released in the autumm/fall, and developers have ported their products to get good performance from Metal 2 with eGPU support. That may well be a year or more away.

Who’s it for?

If you use your Mac for fairly traditional work, with text, numbers, and modest-size still images, Metal 2 and an eGPU are likely to have little to offer. If you develop heavier graphical content, particularly if that involves time-consuming rendering, AR, or image recognition, then you may well find that Mojave, Metal 2 and an eGPU make a noticeable difference.

Imagine sitting at your MacBook Pro with those computation-intensive tasks taking a tenth of the time, and your software running significantly quicker than it would even on a top-end iMac Pro. It really can be a game-changing move, but probably not until well into next year.