Christopher Sardegna's Blog

Thoughts on technology, design, data analysis, and data visualization.


The eGPU Problem

The eGPU Problem

Thunderbolt eGPU docks are a huge advancement. Plugging a Titan X into my rMBP would be a blessing for a lot of the work I do, from data modeling in MATLAB and regressing in STATA to video editing and playing games.

Apple’s current lineup of MacBook Pros — while old — still has powerful top-of-the-line models:

Processor Intel Core i7 4980HQ
Memory 16GB 1600MHz DDR3L SDRAM
SSD 1TB PCIe-based Flash Storage
GPU Intel Iris Pro 6100 + AMD Radeon R9 M370X

The largest setback to completing power-hungry work is the GPU. The integrated Iris Pro can barely drive the internal Retina display and the discrete AMD R9 M370X just does not cut it when it comes to intensive computing.

External GPU docks have been around for a while for anyone who wants to roll a custom solution, but computer hardware – and especially laptop hardware – has been historically unable to use the power due to the transfer speed bottleneck from the possible laptop ports. Thunderbolt 2’s 20 Gbps transfer speeds have unlocked the possibility for efficient eGPU use in MacBooks, and the recent CES expanded that interest with new offerings from MSI and Alienware that take advantage of Thunderbolt 3’s 40 Gbps.

As far as asynchronous rendering, neural networks, and other similar asynchronous work is concerned, eGPU docks increase accessibility by lowering the price and increasing availability and ease of use. However, the biggest problem eGPUs currently face (at least with OS X) is that they cannot actually drive the displays if the computer already has a discrete card. If the machine lacks a discrete card, the eGPU can only be used to drive external, non-Thunderbolt displays that are connected to the eGPU and not the computer.

External GPUs currently are, however, not entirely useful for gaming or expanding the number of displays OS X devices can drive as Apple imposes limits on this functionality: to use eGPUs with OS X, the displays must be plugged in through the eGPU, not the computer’s internal ports. Essentially, eGPUs cannot be used to drive any displays connected to the computer — only for asynchronous rendering or displays connected to the eGPU. eGPUs also cannot be used to drive the internal display. The internal GPU(s) will power displays connecting to the computer.

Other limitations of current eGPU offerings include the Thunderbolt Bandwidth bottleneck — 20 Gbps or 40 Gbps depending on version. Finally, they cannot be daisy chained, as they must be plugged directly to the computer (not through an adapter or display) to take full advantage of the transfer speeds.

External GPUs are an incredible step for mobile computing that bring it closer to enabling desktop-class computing on the go. Current limitations demonstrate that eGPU technology still has far to go, especially regarding integration with the operating system.

Discussion: YCombinator