4 ms·
Unified memory is pretty normal on non-desktop systems and has been for a while.
by chungus_khan 6y ago
Unified memory is pretty normal on non-desktop systems and has been for a while.
- coldtea 6y agoNot sure which those "non-desktop" systems are. If you mean "smartphones and tablets", ok. But this is a laptop, not a mobile phone, and it's new development there. If you mean "laptops" then, no, they didn't have unified memory, much less have it be "pretty normal".
- fulafel 6y agoLaptops with iGPUs are pretty normal, no? (And common on desktops too)
- masklinn 6y agoiGPU doesn't mean unified memory.
- chungus_khan 6y agoFor modern ones it does.
- jakeva 6y agoCan you give an example outside the M1 Macbooks?
- chungus_khan 6y agoIntel iGPUs since gen7, AMD iGPUs since Kaveri. Most laptops have one of these.
- bhewes 6y agoI run my Intel GPU for a message screen. It is i7-9700k and has uniform memory.
- fulafel 6y agoYep. AMD called it hUMA from 2013 or so when they started marketing it (eg https://www.tomshardware.com/news/AMD-HSA-hUMA-APU,22324.html https://www.tomshardware.com/news/AMD-HSA-hUMA-APU,22324.htm...)
- larkost 6y agoI don't know about the latest Intel integrated GPUs, but for the original ones it was not a unified memory arrangement. Rather the integrated GPU used a dedicated chunk of main memory. It was the same banks of memory, but was treated as separate. If you wanted a texture to appear on-screen, then it had to be moved from the normal pool of memory to the one reserved for the GPU. This reserved pool of memory was even hard-set at boot time, and usually the size of it was determined based on the amount of total memory (for example at one point MacBooks with 4GiB of memory allocated 1GiB for memory, ones with 8GiB allocated 2GiB). What it sounds like Apple has done here is heavily blur those lines. One example would be to load a texture into a memory location, make a change with the CPU, then let the GPU do some modifications, check something with the CPU, then apply it to some shape and display it. On current systems that would mean multiple copy operations of that texture back and forth between segments of memory (across the PCI bus on a dedicated card). Here that might all be done with no copies at all (just handoffs).
- fulafel 6y ago> On current systems that would mean multiple copy operations of that texture back and forth between segments of memory This is not the case, as expanded in sibling threads.
- TillE 6y agoIs there a distinction between shared graphics memory (an ancient and still very common thing) and "unified memory"?
- masklinn 6y agoYes, they're absolutely nothing alike. Shared memory means the CPU and the GPU share physical memory in different address space, so 512MB RAM with 64MB shared means the CPU gets 448MB and the GPU gets 64, and data has to be copied from one chunk to the other. Unified memory means both CPU and GPU not only share physical memory but share the address space, all memory is accessible to both at the same time. This means that e.g. you can create commands or load data in memory on the CPU then just tell the GPU "your stuff is here" with no copy needed anywhere, and likewise the other way around.
- rrss 6y ago> data has to be copied from one chunk to the other. With iGPUs, it is pretty standard to be able to map "CPU memory" into the GPU's address space and access it directly, without copies. See section 5.7 here: https://software.intel.com/content/dam/develop/public/us/en/documents/compute-architecture-of-intel-processor-graphics-gen8.pdf https://software.intel.com/content/dam/develop/public/us/en/... I don't think Apple has provided enough information to say if the M1 "unified memory" is actually novel or not. Automatic mirroring between CPU and GPU page tables would be pretty novel, but I don't think there's any info currently available to suggest that happens.
- fulafel 6y agoMemory cross addressability/accessibility works with dGPUs too (but there of course accessing memory behind PCIe is slower). IOMMUs are involved. But software/driver stack has been slow to take advantage of iGPU unified memory, operating systems are partly to blame too.
- masklinn 6y ago> Not sure which those "non-desktop" systems are. Consoles have used unified memory since last generation I think? AMD APU have supported unified memory since kaveri I think, and Intel iGP have supported limited version of data sharing for a while, but I don't think one can call UMA "pretty normal".
- chungus_khan 6y agoWhy not? The vast majority of laptops sold today have iGPUs that support it. Both Intel and AMD docs even refer to it using the term "Unified Memory Architecture", and document use, including things like zero-copy. Is being available in most modern computers by sales volume not good enough?