Future Mac Pro may use Apple Silicon & PCI-E GPUs in parallel
Despite Apple Silicon currently working solely with its own on-board GPU cores, Apple is researching how to support more options, like PCI-E GPUs, all working in tandem.
One thing Intel Macs had that Apple Silicon ones do not, is the ability to use GPUs in external enclosures across Thunderbolt, or internally in a Mac Pro. There are just no provisions with Apple Silicon to do so, at present.
It might not be an issue that concerns most Mac users. It is a big deal for some — and particularly for Mac Pro buyers.
Now, however, a series of four newly-revealed patent applications appear to show that Apple is at least considering this issue.
Why Apple abandoned multiple GPU support
Apple Silicon brought dramatic, practically unheard of, performance and capability improvements over the earlier Intel processors. Part of that was how the new Apple-designed processors cut down on previous bottlenecks.
For instance, unlike typical RAM chips in a device, the new Unified Memory system saw the RAM installed on the central processor. It means you can't upgrade it later, but it also radically sped up how fast that CPU could use RAM.
Apple Silicon processors come with graphics cores built-in for similar reasons. And in order to support third-party ones, Apple would have to find a way to achieve several things.
- Physically include space for GPU cards, or connectors for external GPUs
- Determine when a task is better served by another GPU
- Then root data to that GPU
- Handle how it gets data back from the GPU
The first point is possibly going to be addressed in the forthcoming Mac Pro, or perhaps a later model, as that machine should be expandable.
Everything else in the list is addressed by one or more of the four newly-revealed patent applications.
The benefits of multiple GPU support
"Given their growing compute capabilities, graphics processing units (GPUs) are now being used extensively for large-scale workloads," says Apple in the patent application, "Logical Slot To Hardware Slot Mapping For Graphics Processors."
"APIs such as Metal and OpenCI give software developers an interface to access the compute power of the GPU for their applications," it continues. "In recent times, software developers have been moving substantial portions of their applications to using the GPU."
Apple uses the term "kick" to refer to the kind of discrete unit of graphics work that a GPU may perform. It then says that there is an issue of getting these kicks to the right GPUs.
"Data master circuitry (e.g., a compute data master, vertex data master, and pixel data master) may distribute work from these kicks to multiple replicated shader cores," it says, "e.g., over a communications fabric."
A graphics card may occupy what Apple calls a "kickslot" which appears to be little more than a PCI-E slot either internal or external to the computer. There could be two or more of these, with macOS switching between them.
Switching between GPUs
Switching between these graphics cards requires technology similar to NVidia's old Scalable Link Interface (SLI), which controlled cards and sets of kicks.
Apple's new patent applications include one called "Kickslot Manager Circuitry For Graphics Processors," which is part of achieving the same result.
"Slot manager circuitry may store, using an entry of the tracking slot circuitry, software-specified information for a set of graphics work," says Apple. "The slot manager circuitry may prefetch, from the location and prior to allocating shader core resources for the set of graphics work, configuration register data for the set of graphics work."
So two or more GPU cards can work together, but that requires scheduling. Hence Apple's third new patent application, "Affinity-Based Graphics Scheduling."
"Distribution circuitry may receive a software-specified set of graphics work," says Apple in this application, "and a software-indicated mapping of portions of the set of graphics work to groups of graphics processor sub-units."
"This may improve cache efficiency, in some embodiments," notes Apple, "by allowing graphics work that accesses the same memory areas to be assigned to the same group of sub-units that share a cache."
Getting back data from a GPU
So Apple's patent applications cover physically supporting two or more graphics cards, then determining which is the best for a particular task. The patent applications then describe how work can be divided across the available GPUs.
That leaves getting back the data from GPU, and that comes over the more general patent application called, "Software Control Techniques For Graphics Hardware That Supports Logical Slots."
This patent application includes descriptions of how control "circuitry may determine mappings between logical slots and distributed hardware slots for different sets of graphics work."
"Various mapping aspects may be software-controlled," it says. "For example, software may specify one or more of the following: priority information for a set of graphics work, to retain the mapping after completion of the work, a distribution rule, a target group of sub-units, a sub-unit mask, a scheduling policy, to reclaim hardware slots from another logical slot, etc."
It appears that every issue raised by the desire to use multiple graphics cards has at least been investigated by Apple.
So that leaves the obvious question about whether Apple will make a Mac that adds multiple GPU support to Apple Silicon — and when.
When we'll see multiple graphics cards in a Mac
Apple does apply for patents constantly, and there is no guarantee that even granted patents will lead directly to products. Plus patents might be applied for years before Apple can use them.
So despite all of the evidence, it is not guaranteed that Apple will support multiple GPUs in Macs — and in particular, it can't be presumed that the next Mac Pro that's expected soon will.
But the intention is clearly there, and this is not a chance collection of unrelated patents happening to be applied for at the same time. Three of the four patents, for instance, name Andrew M. Havlir as an inventor, and three name Steven Fishwick.