3 ms·
I've never seen a good technical comparison showing what's new between "Unified Memory" vs traditional APUs/iGPUs memory subsystems laptops have had for over a
by zamadatix 2y ago
I've never seen a good technical comparison showing what's new between "Unified Memory" vs traditional APUs/iGPUs memory subsystems laptops have had for over a decade, only comparisons to dGPU setups which are rarer in laptops. The biggest differences comparing Apple Silicon or Strix Halo to their predecessors seems to be more about the overall performance scale, particularly of the iGPU, than the way memory is shared. Articles and blogposts most commonly reference:
- The CPU/GPU memory are shared (does not have to be dedicated to be used by either).
- You don't need to copy data in memory to move it between the CPU/GPU.
- It still uses separate caches for the CPU & GPU but the two are able to talk to each other directly on the same die instead of an external bus.
But these have long been true of traditional APUs/iGPUs, not new changes. I did even see some claims Apple put the memory on die too and that's what makes it unified but checking that it seems to still actually be "on package", which isn't unique either, and it wouldn't explain any differences in access patterns anyways. I've been particularly confused as to why Strix Halo would now qualify as having Unified Memory when it doesn't seem anything is different than before, save the performance.
If anyone has a deeper understanding of what's new in the Unified Memory approach it'd be appreciated!
- kbolino 2y agoI believe, but don't know for sure, that classic iGPUs still behaved like discrete PCI devices under the hood, and accessed RAM using DMA over PCI(e), which is slower than the RAM is capable of, and also adds some overhead. Whereas, modern unified memory approaches have a direct high-bandwidth connection between RAM and the GPU, which may be shared with the CPU, bypassing PCI entirely and accessing the memory at its full speed.
- zamadatix 2y agoMy understanding is this was true for the original Trinity era APUs in 2012 but by 2014 Kevari APUs had already put them on the same bus so passing the pointer over PCIe was no longer necessary for systems with unified system memory https://en.wikipedia.org/wiki/Heterogeneous_System_Architecture https://en.wikipedia.org/wiki/Heterogeneous_System_Architect... Reading about HSA again (it's been many years) it seems like ARM was one of the ones originally part of defining it back then and I wonder if Apple actually did anything different on top this at all or just branded/marketed the use of what was already there.
- kbolino 2y agoGreat link! It seems there are 3 key things which distinguish the modern "unified memory architecture" from its predecessors: 1. Pointer passing instead of buffer copying 2. Separate bus for memory access alongside the PCIe bus 3. No partitioning of RAM into exclusive CPU vs. GPU areas These features seem to have come at different times, and it's the combination of all three that defines the modern approach. Broadly speaking, whereas classic iGPUs were still functionally "peripheral devices", modern UMA/HSA iGPUs are coequal partners with their CPUs. AMD seems to have delivered the first hardware meeting these criteria about 8-9 years ago, beating Apple to the punch by a couple years. However, AMD's memory bandwidth can be quite a bit behind Apple's. The M1 Pro handily beats anything AMD had out at the time (200 GB/s vs. 120 GB/s), and the M1 Max has double that bandwidth.
- ForTheKidz 2y agoYou're obviously more familiar with the topic than I so I'll trust your insight into the age of the term and concept, but none of these describe common chipsets for laptops that a consumer would expect. Unless we're talking a very specific user trying to engage in heavy GPGPU computation here (on a laptop?? I can't imagine the market for this is very large). Most users of apple's M* laptops don't know or care they they have a laptop that shares memory in a different way than the intel laptops generally allowed for.