6 ms·
Shared graphics-memory is not the same as unified memory. In a shared graphics-memory system, a part of the system RAM is reserved for the GPU. The amount of R
by Aaargh20318 5y ago
Shared graphics-memory is not the same as unified memory.
In a shared graphics-memory system, a part of the system RAM is reserved for the GPU. The amount of RAM reported to the OS is the total RAM minus the chunk reserved the GPU uses. The OS only can use it's own part, and cannot access the GPU memory (and vice versa). If you want to make something available to the GPU, it still has to be copied to the reserved GPU part.
In unified memory both the OS and the GPU can access the entire range of memory, no need for a (slow) copy. Consoles use the same strategy (using fast GDDR for both system and GPU), and it's one of the reasons consoles punch above their weight graphically.
The main reason that high-end GPUs use discrete memory is because they use high-bandwidth memory that has to live very close to the GPU. The user-replaceable RAM modules in a typical PC are much too far away from the GPU to use the same kind of high bandwidth memory. If you drop the 'user replaceable' requirement and place everything close together, you can have the benefits of both high bandwidth and unified memory.
- floatboth 5y ago> If you want to make something available to the GPU, it still has to be copied to the reserved GPU part. Or allocate on the GPU side and get direct access to it from the CPU, achieving zero-copy: https://software.intel.com/content/www/us/en/develop/articles/zero-copy-texture-uploads-in-chrome-os.html https://software.intel.com/content/www/us/en/develop/article...
- kllrnohj 5y ago> If you drop the 'user replaceable' requirement and place everything close together, you can have the benefits of both high bandwidth and unified memory Rather, if you drop the "big GPU" requirement then you can place everything close together. So called APUs have been unified memory for years & years now (so more or less Intel's entire lineup, and AMD's entire laptop SKUs & some desktop ones). It still ends up associated with low-end because there's only so much die space you can spend on an iGPU, and the M1 is no exception there. It doesn't come close to a mid-range discreet GPU and it likely won't ever unless Apple goes chiplets so that multiple dies can share a memory controller. With "normal" (LP)DDR you still run into severe memory bottlenecks on the GPU side as things get faster, so that becomes another issue with unified memory. Do you sacrifice CPU performance to feed the GPU by using higher-latency GDDR? Or do you sacrifice GPU performance with lower-bandwidth DDR?
- SigmundA 5y agoFrom 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.
- icedchai 5y agoIt's basically the same thing. It's the same address space. If you want to get technical about it, the Amiga had "unified memory" in 1985.
- SigmundA 5y agoYes the Amiga had a form of UMA as did many other systems, the term UMA seems more widely used than "shared memory" its definite not just a marketing term. I don't believe Apple claimed to invent unified memory only that they are taking maximum advantage of the architecture more so than anyone to this point. Federighi: "We not only got the great advantage of just the raw performance of our GPU, but just as important was the fact that with the unified memory architecture, we weren't moving data constantly back and forth and changing formats that slowed it down. And we got a huge increase in performance." This seems to be talking about the 16mb SLC on die cache that CPU,GPU and other IP cores share: "Where old-school GPUs would basically operate on the entire frame at once, we operate on tiles that we can move into extremely fast on-chip memory, and then perform a huge sequence of operations with all the different execution units on that tile. It's incredibly bandwidth-efficient in a way that these discrete GPUs are not. And then you just combine that with the massive width of our pipeline to RAM and the other efficiencies of the chip, and it’s a better architecture."