This has been kicking around my drafts since December 2015 as the point I was trying to make about Metal and Apple in the context of the rest of the industry didn’t seem to have an obvious proof. This all just became relevant again today, but for the original context:
I came across rumors of Apple building its own GPU on Fudzilla last night. I’m not usually one to pay much attention to what’s on Fudzilla, but I think there’s a case to be made that Apple is probably pursuing this.
I [initially] thought it would make sense for Apple to snap up Imagination Technologies, which owns PowerVR. Thinking more on it today, the huge distribution of the Imagination workforce all over the planet would likely be an issue for any acquisition. Based on job postings I’d wager that the biggest chunk of design and engineering is happening in the UK. The jobs in their UK office are clearly the ones any buyer would want: FPGA design, video drivers, OpenCL engineering. These are who Apple need, and they’re 5300 miles away from the mothership. That’s a lot of families that need convincing to move a long way. One of the most attractive things about Apple doing their own GPU tech would be the tighter integration in their own SoC, I’m not sure I see a way forward where the Imagination/PowerVR team stays in the UK and is able to effectively integrate with the existing semiconductor team at Apple.
Another check in the “yeah, they’re probably doing this” column has to do with Apple’s Metal API and Khronos’ Vulkan API. While it looks like Mantle, DirectX 12, Metal, and Vulkan are cut roughly from the same cloth, the sense I get is that Apple has kept its distance from the Vulkan group more than any of the other players.
Almost a year and a half later, it looks like Apple is happy enough with what they’ve made, as Imagination Technologies has put out a press release that Apple has informed them they’ll no longer be using their IP in “15 months to two years time”. This seems quite damning for Imagination and an obvious move for Apple. The point I was trying to make [and never succeeded in] about Metal and Apple seems more clear as Apple’s description of MetalPerformanceShaders (introduced in iOS 9 but with neural net support added in iOS 10) makes clear:
Add low-level and high-performance kernels to your Metal app. Optimize graphics and compute performance with kernels that are fine-tuned for the unique characteristics of each Metal GPU family.
Its a tremendous amount of work to optimize for each GPU family, and the complexity in doing so is betrayed by the limited support of the MPS framework in devices. No support on the iPhone 5S (which indeed supported Metal) and zero Mac support. Having control over the hardware will provide the same advantages that shipping the first iPad with the A4 chip in 2010 provided. I wouldn’t be surprised if shortly after we start seeing graphics parts in iPhones that they start appearing on the Mac, even if Intel remains in the picture. GPU’s are the interesting chips now and is one of the areas where performance and power consumption are on a more radical trajectory than the CPU. It only makes sense that Apple would want to be in it.