Although both upcoming game consoles Xbox One and PlayStation 4 are based on AMD hardware, only PlayStation 4 incorporates hUMA [Heterogeneous Uniform Memory Access] for supporting a shared memory space. This was explained by AMD's Senior Product Marketing Manager Marc Diana to c't [big German IT magazine] at gamescom. This should put the 3D-performance of PlayStation 4 much farther ahead of Xbox One than many have expected so far. AMD sees hUMA as a key element for drastic performance improvements in combined processors. AMD's upcoming Kaveri desktop processors support hUMA as well.
Behind the scenes, c't could hear from developers that the 3D-performance of PlayStation 4 is very far ahead of Xbox One.
Back in April, AMD manager Phil Rogers explained to c't that hUMA improves 3D-performance in particular. "Game developers have been eager to use very large textures for years. Until now they had to resort to tricks in order to package parts of larger textures into smaller textures. That is because today a texture has to be located in a special place of physical memory before the GPU can process it. With hUMA, applications can work with textures much more efficiently". AMD will give more details on hUMA at its upcoming developer conference in November.
hUMA: Heterogeneous Uniform Memory Access (Yes, people already made tons of "sense of hUMA" jokes)
Even with the integration of GPUs and CPUs into the same chip, GPGPU is quite awkward for software developers. The CPU and GPU have their own pools of memory. Physically, these might use the same chips on the motherboard (as most integrated GPUs carve off a portion of system memory for their own purposes). From a software perspective, however, these are completely separate.
This means that whenever a CPU program wants to do some computation on the GPU, it has to copy all the data from the CPU's memory into the GPU's memory. When the GPU computation is finished, all the data has to be copied back. This need to copy back and forth wastes time and makes it difficult to mix and match code that runs on the CPU and code that runs on the GPU.
The need to copy data also means that the GPU can't use the same data structures that the CPU is using. While the exact terminology varies from programming language to programming language, CPU data structures make extensive use of pointers: essentially, memory addresses that refer (or, indeed, point) to other pieces of data. These structures can't simply be copied into GPU memory, because CPU pointers refer to locations in CPU memory. Since GPU memory is separate, these locations would be all wrong when copied.
hUMA is the way AMD proposes to solve this problem. With hUMA, the CPU and GPU share a single memory space. The GPU can directly access CPU memory addresses, allowing it to both read and write data that the CPU is also reading and writing.
hUMA is a cache coherent system, meaning that the CPU and GPU will always see a consistent view of data in memory. If one processor makes a change then the other processor will see that changed data, even if the old value was being cached.
As well as being useful for GPGPU programming, this may also find use in the GPU's traditional domain: graphics. Normally, 3D programs have to use lots of relatively small textures to apply textures to their 3D models. When the GPU has access to demand paging, it becomes practical to use single large textures—larger than will even fit into the GPU's memory—loading the portions of the texture on an as-needed basis. id Software devised a similar technique using existing hardware for Enemy Territory: Quake Wars and called it MegaTexture. With hUMA, developers will get MegaTexture-like functionality built-in.
On a classical system you have a RAM pool and a VRAM pool that are physically speperated. Copying data from one pool to the other creates latency. The GPU is very good ad hiding latency. What it needs most is high bandwidth. The CPU on the other hand is extremely sensitive to latency. The CPU needs extremely low latency to work efficiently. Copying data from the RAM (CPU) to the VRAM (GPU) creates latency, but that's okay for the GPU. Copying data from RAM (CPU) to VRAM (GPU) and back to the RAM (CPU) creates even more latency. It's too much for the CPU. The copying alone takes longer than the computation wich makes this roundtrip highly ineffective.
Xbox360 and older APUs have a unified RAM. This means that the RAM is no longer physically seperated, but even though it's the same RAM chips, the system still distincts between memory partition for the differenct processors. You still need to copy the data between CPU partition and GPU partition, but this will be much more efficient than copying it between physically seperated pools. But it's still too much latency for a CPU, GPU, CPU roundtrip.
PS4 will have hUMA wich means that you no longer need a distinction between CPU partition and GPU partition. Both processors can use the same pieces of data at the same time. You don't need to copy stuff and this allows for completely new algorithms that utilize CPU and GPU at the same time. This is interesting since a GPU is very strong, but extremely dumb. A CPU is extremely smart, but very weak. Since you can utilize both processors at the same time for a single task you have a system that is extremely smart and extremely strong at the same time.
It will allow for an extreme boost for many, many algorithms and parts of algorithms. On top of that it will allow for completely new classes of algorithms. This is a game changer.
Further evidence: Sony joined the HSA (Heterogeneous System Architecture) Foundation originally co-founded by AMD while Microsoft has not:
The summary so far:
To summarize the evidence so far: we have an article from a respected source, echoing Senior Product Marketing Manager Marc Diana in saying that PS4 implements their hUMA architecture while the XB1 does not. This is followed by the deduction that PS4 will have a significant performance boost over XB1 because of that. It remains unclear what the AMD representative said verbatim. We can only say that c't is as reputable as it gets in the space of German IT publications; that does not make them infallible, of course.
In addition, Sony is part of the HSA consortium while Microsoft is not. Of course, we don't know the political implications of such a membership which may play a significant role along purely technological reasons.
Technology-wise, we can say with certainty that PS4 indeed is a hUMA architecture. Everything we have heard since the release from official sources, especially PS4's Onion/Garlic memory bus layout and the volatile tag on cache lines, confirms that. In addition, Sony has actually advertised this fact quite aggressively, beginning with the Havok GPGPU demo at the PS4 reveal.
We don't know much what the Xbox One does beyond what the leaked documents tell us. And those are ambiguous and not very detailed. At first, it sounds unexpected for it to not support hUMA. Microsoft certainly has implemented a more custom memory system than Sony to manage its DDR3/ESRAM layout, including its DMEs. There is no clear indication about which features of a hUMA architecture might be lacking. Maybe not all memory clients and pools are cache-coherent system wide. The GPU does seem to have to flush its caches when it synchronizes with other clients. However, the article on vgleaks is neither very detailed nor clear, nor do we know if its author recited the original sources correctly. So the relationship between a hUMA feature set and the XB1 is unclear.
Politics-wise, AMD certainly wants to push hUMA since it is part of its own upcoming end-customer products. This would be reason alone to champion the PS4 independent of what the XB1 does, since AMD won't profit from what Microsoft has done with its memory subsystem.
Apart from that, developers at gamescom seem to acknowledge anonymously that the PS4 has a clear 3D-performance advantage over the Xbox One which is certainly a result of many factors, not least because of its beefier GPU and its straight-forward, high-bandwidth GDDR5 setup.
http://en.wikipedia.org/wiki/C%27t on the magazine that did the interview:
Got a response from the author of the heise.de article.
Edit: Article is accurate as it is presented.
c't – Magazin für Computertechnik (magazine for computer technology) is a German computer magazine, published by the Heinz Heise publishing house. Originally a special section of the electronics magazine elrad, the magazine has been published monthly since December 1983 and biweekly since October 1997. […]
The magazine is the second most popular German language computer magazine with a sold circulation of about 315,000 (as of March 2011; printed circulation: 419,000). With 241,000 subscriptions it is the computer magazine with the most subscribers in Europe.
The Verge reported back in June on all topics AMD and seems to have included the XB1, although we haven't, again, a direct quote.
That might sound suspiciously vague, but we spoke to AMD and it's actually true. The AMD chips inside the PlayStation 4 and Xbox One take advantage of something called Heterogeneous Unified Memory Access (HUMA), which allows both the CPU and GPU to share the same memory pool instead of having to copy data from one before the other can use it. Diana likened it to driving to the corner store to pick up some milk, instead of driving from San Francisco to Los Angeles. It's one of AMD's proposed Heterogeneous System Architecture (HSA) techniques to make the many discrete processors in a system work in tandem to more efficiently share loads.
Apparently, AMD's spokesperson was not supposed to say what he said, so AMD dismissed having said anything.
During a recent Gamescom 2013 interview, an AMD spokesperson made inaccurate statements regarding the details of our semi-custom APU architectures.
AMD will not comment on the Microsoft Xbox One and Sony PS4 memory architectures and will not speak for Microsoft, Sony or other AMD customers.
Update from the Heise author:
He had a phone call with AMD and he says that they left open whether Marc Diana's statements are true or untrue. He also says that AMD made pretty clear that they're not allowed to talk about PS4 or Xbox One
"AMD ließ auch während eines Telefongespräches offen, ob die Behauptungen von Marc Diana der Wahrheit entsprechen oder nicht. Besonderen Wert legte das Unternehmen vor allem auf die Aussage, dass die Firma keine Aussagen zu den Produkten seiner Kunden treffen darf – also auch nicht zu Sonys Playstation 4 oder Microsofts Xbox One."