6 ms·
Here's where the unified memory architecture of M1 Macs, gaming consoles, APUs, and other custom SoCs can shine and shows the inefficiencies of the traditional
by ChuckNorris89 3y ago
Here's where the unified memory architecture of M1 Macs, gaming consoles, APUs, and other custom SoCs can shine and shows the inefficiencies of the traditional ageing desktop PC architecture in the modern world where the graphics VRAM is completely separated from the system RAM.
I'd like to see PCs designed more like consoles or M1 Macs, with GDDR shared as unified RAM between GPU and CPU. I have an laptop with a last gen AMD APU that's no slouch, but the VRAM slice of total RAM is still fixed as configured in BIOS between 512MB and 4GB, instead of fully unified and dynamically shred by the OS, which seems highly ineficient and wasteful in the modern age.
It's why PS5 and Xbox with their 16GB of fully unified VRAM can compete with gaming PCS witch need 16GB of system RAM and over 8GB of VRAM. Why have two separate memory zones where one sists empty most of the time and when needed is actually too small while the other is half empty, when you can unify them and make use of the whole pie as needed?
- coffeebeqn 3y agoI can’t imagine the SOCs are too far away for PCs. It does go against the upgradeability philosophy but I’m not sure how many users really care about that
- kramerger 3y agoIs this different from integerated GPUs from Intel and AMD?
- ChuckNorris89 3y agoAs exemplified in my post above, AMD integrated GPUs don't have unified memory, at least my 5000 series I bought in 2022. Maybe the new 7000 series changes this.
- fulafel 3y agoThey have had it for about 10 years, since Kaveri. See eg https://hexus.net/tech/news/cpu/54709-amds-heterogeneous-uniform-memory-access-huma-detailed/ https://hexus.net/tech/news/cpu/54709-amds-heterogeneous-uni... or https://www.guru3d.com/articles-pages/amd-a10-7800-kaveri-apu-review,3.html https://www.guru3d.com/articles-pages/amd-a10-7800-kaveri-ap...
- ChuckNorris89 3y agoNot exactly. While that may have been the case way back in the past when AMD APUs were designed as a homonegnous CPU-GPU unit from the start, I can tell you that's not the case with the relatively modern 5000 series. I need to go in the Bios and specify explicitly how much of the system RAM I want allocated exclusively of the integrated GPU and the rest stays available for system RAM. The reason is because Ryzen 5000 APUs seem to be a job rushed out the door so they're just a Zen 3 CPU with a separate Vega GPU glued together on the same die, but they're not a homogenous design, designed to work as one unit, like the APU of the PS5, so memory wise they're unaware of each other, even though AMD calls them APUs, they're not really, but more like separate CPU and GPU on the same die. I wish I knew about this limitation at the time, as Intel chips with integrated graphics have unified memory.
- yjftsjthsd-h 3y agoI wonder if a clever enough driver+firmware could make that hot-adjustable (or truly unified, rather) with nothing but a software patch. It sounds like the pieces are all there.
- sgtnoodle 3y agoMy understanding is that the Steam Deck, which uses a Zen 2 APU, dynamically allocates system RAM to VRAM. It only works in SteamOS (Arch Linux) though. Folk that run Windows on their Steam Decks need to go into the BIOS and bump the static mapping to 4GB in order to get good performance in many games.
- AnthonyMouse 3y ago"Unified" doesn't mean the CPU and GPU can store different data in the same memory at the same time. The BIOS setting is just assigning how much are visible for each to use in the absence of OS support for doing it dynamically. Clearly if you can change the amount it isn't a hardware limitation, and I'm not even sure if it needs some special support. The iGPU surely supports DMA, so if it does a load from memory "assigned" to the CPU does it perform any differently than from memory "assigned" to the GPU?
- AnthonyMouse 3y agoIf you put the memory on the same package as the CPU it can have higher bandwidth without needing an unreasonably high number of pins in the CPU socket. But there is no reason you can't do both. Intel is already by putting HBM on the Xeon Max. It still has separate memory slots, because they're for two different things. HBM is fast and expensive. DDR costs less so you can have more of it for the same amount of money and the large majority of workloads aren't memory-bound. You could then have systems with DIMM slots that aren't populated because the CPU has enough HBM to satisfy you, others that cost less with no HBM and the same amount of DDR, and still others that have say 16GB of HBM and 128GB of DDR. Both of which are still upgradable, but if you want more HBM it comes with a new CPU.
- throw9away6 3y agoWho really upgrades pcs anymore. By the time you need to upgrade everything from socket to power standard is outdated
- bee_rider 3y agoA mid-lifetime upgrade where you pop in a new GPU, fill up any unpopulated ram slots, or add in a new drive, can be nice. CPUs last a really long time nowadays.
- throw9away6 3y agoSo do gpus though. Are you really going to pop in a 800$ gpu into 200$ worth of components?
- coffeebeqn 3y agoDepends how good the original was if it’s worthwhile. GPUs don’t need that much from the rest of the machine as long as it’s somewhat sensible for gaming. Especially at 1440p or 4k the GPU is a huge portion of the performance
- yjftsjthsd-h 3y ago> Are you really going to pop in a 800$ gpu into 200$ worth of components? Why not? For the right workloads, the GPU is the important thing anyways. It's not that different from rotating disks through a machine.
- bee_rider 3y agoThe main argument I can think of for separating their memory is that, of course, GDDR can be optimized for bandwidth and regular ram can be optimized for latency or somewhere in between. But, memory latency continues to make poor progress compared to CPU speeds. So, since we’re already going to need a complicated system of caches on the CPU side, maybe it is not such a big deal if CPU memory acts more like GDDR.
- codedokode 3y agoIt doesn't explain why GPUs that are integrated into a CPU (like AMD's ones) and use the same memory, cannot use it all. If they could use all memory, you could cheaply run neural networks with 64Gb of RAM without buying a professional GPU. No wonder manufacturers don't want you to be able to do that.
- Dalewyn 3y agoBoth discrete and integrated GPUs can use as much system RAM as you allow them in your BIOS or operating system. The problem is that system RAM is slow compared to onboard VRAM on discrete GPUs. Size isn't everything, speed and latency are also factors that have to be considered.
- tsss 3y agoI imagine if that ever happens it will only be used to nickel and dime consumers and you'll end up paying even more through forced upselling than with the inefficient VRAM we currently have.
- pezezin 3y agoThe problem is memory bandwidth. The M2 has a bandwidth of 100 GB/s, whereas this RX 7600 has 288 GB/s, and top of the line RX 7900 and RTX 4090 reach almost 1 TB/s. Reaching such speeds with standard DDR5 would require a massive number of channels that is impractical for desktop PCs. The M1, M2, PS5 and Xbox get away with it by being closed systems without any possibility for expansion, but gaming PCs are expected to be expandable.
- hotstickyballs 3y agoPC gaming is responsible for most of the bugs. With Nvidia going all in on cloud compute, gaming is going either console or cloud IMO.
- pezezin 3y agoSure, look at the huge success of Stadia /s Cloud gaming is not an option for most gamers for a very simple reason: latency. By the way, people have been predicting the death of PC gaming since at least the PSX/Saturn/N64 era, yet here we are...
- dontlaugh 3y agoCertainly PC gaming has terrible ergonomics and is very annoying. Sadly, some things you can't play on a console. Cloud gaming is not even close to being an option, the latency is disastrous. Even streaming locally on gigabit network has poor latency, let alone over the internet.
- windowsrookie 3y agoThe Xbox Series X uses GDDR6 and has a memory bandwidth of 560GB/s. I'm assuming apple is using LPDDR5 for power efficiency. Theoretically they could make a desktop specific chip with GDDR6.
- lukevp 3y agoThe M1 ultra has 800 GB/s memory bandwidth. That’s not very far off from the RTX 4090.
- shaklee3 3y agoCUDA has had a single pointer that will handle paging between host and device for quite a while.