5 ms·
From the Anand article you linked further up: "The first Apple-built GPU for a Mac is significantly faster than any integrated GPU we’ve been able to get our h
by SigmundA 5y ago
From the Anand article you linked further up:
"The first Apple-built GPU for a Mac is significantly faster than any integrated GPU we’ve been able to get our hands on, and will no doubt set a new high bar for GPU performance in a laptop. Based on Apple’s own die shots, it’s clear that they spent a sizable portion of the M1’s die on the GPU and associated hardware, and the payoff is a GPU that can rival even low-end discrete GPUs."
This is their first low end offering, they seem to be taking full advantage of UMA more so than anyone to this point. It will be interesting to see if they continue this with a higher "pro" offering or stick with a discrete CPU to stay competitive.
My guess is Apple will be the one to make UMA integrated graphics rival discrete GPU's, it will be interesting to see if that happens.
- Pulcinella 5y agoYeah I believe the M1 GPU(2.6 TFLOPS) falls between a PS4 (1.8 TFLOPS) and PS4Pro (4.2 TFLOPS). Yes the original PS4 came out in 2013, but still I find it impressive that a mobile integrated GPU has that much computational Power with no fan and that power budget. I do wonder what they are going to do with the higher end MBP, iMacs, and Mac Pro (if they make one). Will they have an “M1X” with more GPU cores or will they offer a discrete option with AMD GPUs. I do think we could potentially see an answer at WWDC. I wouldn’t be surprised if eGPU support was announced for ARM Macs at WWDC.
- bombcar 5y agoPart of the issue appears to be the number of PCI lanes the M1 can support (which is why it's limited to two monitors). I'm not sure they'll improve that by making a M1X or just gluing multiple M1s together.
- kllrnohj 5y agoNone of those games were designed for UMA nor do they benefit as the API design for graphics forces copies to happen anyway. The M1's GPU is good (for integrated), but UMA isn't the reason why. I don't know why people seem so determined to reduce Apple's substantial engineering in this space to a mostly inconsequential minor architecture tweak that happen a decade ago.
- SigmundA 5y agoFrom the article: "Meanwhile, unlike the CPU side of this transition to Apple Silicon, the higher-level nature of graphics programming means that Apple isn’t nearly as reliant on devs to immediately prepare universal applications to take advantage of Apple’s GPU. To be sure, native CPU code is still going to produce better results since a workload that’s purely GPU-limited is almost unheard of, but the fact that existing Metal (and even OpenGL) code can be run on top of Apple’s GPU today means that it immediately benefits all games and other GPU-bound workloads." https://developer.apple.com/documentation/metal/setting_resource_storage_modes/choosing_a_resource_storage_mode_in_macos https://developer.apple.com/documentation/metal/setting_reso... https://developer.apple.com/documentation/metal/synchronizing_a_managed_resource https://developer.apple.com/documentation/metal/synchronizin... "Note In a discrete memory model, synchronization speed is constrained by PCIe bandwidth. In a unified memory model, Metal may ignore synchronization calls completely because it only creates a single memory allocation for the resource. For more information about macOS memory models and managed resources, see Choosing a Resource Storage Mode in macOS." I am not trying to minimize the other engineering improvements, however I do believe there may be less credit being given to the UMA than deserved due to past lackluster UMA offerings. As I said it will be interesting to see how far Apple can scale UMA I am not sure they can catch discrete graphics but I am starting to think they are going to try.
- kllrnohj 5y agoTo leverage shared memory in Metal you have to target Metal. Otherwise take for example glTexImage2D: https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glTexImage2D.xhtml https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/gl... Apple can't just hang onto that void* that's passed in as the developer is free to re-use for something else after the call. It must copy, even on a UMA system. And even if it was adjusted such that glTexImage2D took ownership of the pointer instead, there'd still be an internal copy anyway to swizzle it as linear RGBA buffers are not friendly to typical GPU workloads. This is why for example per Apple's docs above when it gets to the texture section it's like "yeah just copy & use private." So even though in theory Metal's UMA exposure would be great for games that stream textures, it still isn't because you still do a copy anyway to convert it to the GPU's internal optimal layout. Similarly the benefits of UMA only help if transfering data is actually a significant part of the workload, which is not true for the vast majority of games. For things like gfxbench it may help speedup the load time, but during the benchmark loop all the big objects are only used on the GPU (like textures & models)