Learn about the different ways that a user can connect external GPUs and external displays to a Mac computer.
A user can have multiple GPUs and displays built in or connected to a Mac computer, with each display driven by a specific GPU. You should be aware of these possible configurations and how they might affect your app’s graphics rendering or compute processing workflows. Test as many configurations as possible, and be prepared to inform your users about recommended setups for optimal app performance.
In general, external GPUs can provide more processing power than many built-in GPUs. However, the external Thunderbolt 3 bus that connects an external GPU to a Mac typically has a lower bandwidth than the built-in bus of a built-in GPU. Thus, data transfers between a Mac and an external GPU can be more expensive than data transfers between built-in GPUs within a Mac.
Built-in GPU with a Built-in Display
Some Macs have only one built-in GPU (integrated or discrete). This GPU always drives the built-in display.
Multiple Built-in GPUs with a Built-in Display
Some Macs have multiple built-in GPUs (integrated, discrete, or both). Any of the built-in GPUs can drive the built-in display.
One or More External Displays
Single or multiple external displays can be connected to a Mac. All built-in or connected displays are driven by only one built-in GPU at any given time (different built-in GPUs can't drive different displays). On Macs that have both an integrated and a discrete GPU, the discrete GPU always drives any external displays connected to the system.
One or More External GPUs
Single or multiple external GPUs can be connected to a Mac. However, an external GPU cannot drive the built-in display (only a built-in GPU can do so). If an external GPU needs to send data to the built-in display, that data must first be transferred from the external GPU to the built-in GPU that drives the built-in display.
External GPU with an External Display
An external GPU can be connected to both a Mac and an external display. In this setup, the external GPU always drives the external display (a built-in GPU can never do so). If a built-in GPU needs to send data to the external display, that data must first be transferred from the built-in GPU to the external GPU.
Multiple External GPUs and Multiple External Displays
A user can connect multiple external GPUs and external displays to the system. Additionally, some external GPUs can be connected to multiple external displays.