15 January 2020

Analyse This: Next Gen Consoles (Part 4)

It seems there has been a couple of further developments over the last few days for next gen console news. First off, Digitmes reported that both Phison and Silicon Motion Technology (confusingly, SMI) are both linked to the next generation consoles. Secondly, there was a leaked estimate of the relative size of the PS5 die size compared to the Xbox SX.

I had noted previously that I didn't believe that current write and read speeds were adequate for the types of experiences hinted at by SONY and Microsoft... well it appears that I missed this article from Anandtech and this article from TweakTown where Phison reports their E18 controller can do 7.0 GB/s sequential writes and 1 million 4 KB random IOPS and SMI can do 6.5 GB/s sequential writes with 0.7 million IOPS (I presume they're also using a standard 4 KB package size).

Yes, we know that sustained IOPS will be lower than these theoretical maximums but these, presumably, will still be higher than all the current gen PCIe 3.0/4.0 NVMe drives available. We're talking about a 30-40% improvement over current PCIe 4.0 drives and an 80-100% improvement over PCIe 3.0 drives. (Link for comparable numbers)

To be honest, these are the sorts of numbers which really are game-changing and "next generation" and go a long way to achieving what Microsoft described as using the SSD as a virtual RAM pool. Especially because Phison's controller appears to be symmetrically capable, with 7.0 GB/s sequential reads and 1 million random IOPS. SMI's controller is less exciting, with only 3.9 GB/s sequential reads and 0.7 million random IOPS.

Given that SMI's controller is less suited for use as a virtual RAM pool, it could be inferred that SONY are using their controllers for their solid state storage whereas Microsoft have opted for Phison's. Added to this is the fact that Phison's controller can utilise LPDDR4, which has improvements in terms of energy utilisation.

However, I am assuming that these latest announced PCIe 4.0 controllers will be utilised and not these companies' less capable versions. So this may not be the case... but I think the language both Microsoft and SONY have used regarding "next generation" of SSDs would push us to these improved controllers.

The M.2 form factor with a SATA interface... not the version we want in the next gen consoles!!

Moving on to the die size comparisons... AnandTech has an updated die size estimation for the Renoir chip, the 4800U, at 149.27 mm^2. This doesn't really change the calculations I'd performed last time, except to highlight that the I/O appears to be larger than I previously estimated and the size of a compute unit for both Vega and Navi at the 7 nm process node should be between 5.17 to 6.2 mm^2.

There was a rumour that the die size of the PS5 was 13% less than the Xbox SX - though the estimate for the SX die area was completely incorrect (it was slightly smaller than the Xbox One X)... so, it's probable that this estimation is incorrect but, just for fun, let's see what this gives us.

Going on a 400-405 mm^2 die size for the SX, this 13% reduction puts us at 348 - 352 mm^2 for the PS5 die. At this area, removing a similar 8-core die size I assumed with the SX and I/O, that gives us 38 CUs. This is close enough to the rumoured 40 CUs (with 4 disabled) that the PS5 is supposed to have.
One of the reasons I'm not linking these videos and rumours is because I watch so many videos and I forgot to bookmark them and, unfortunately, video is TERRIBLE for finding references...
I think this, although entirely based on rumour, does not seem outlandish: The die size is within reason, the CU size is within error (depending on generation and features). The number calculated of CUs matches what is rumoured and would make sense.

Many people don't realise this, but Navi/RDNA and Vega/GCN ALREADY have raytracing hardware inside...
Last time, I mentioned that I wanted to take a look at AMD's True Audio and how it might affect the PS5. SONY have been talking-up their focus on 3D audio for the next playstation. The RDNA whitepaper discusses the implementations of this feature and summarises how it can be utilised. From the document:
First, the GPU can partition the shader arrays and reserve select compute units solely for audio tasks, ensuring low latency and predictable execution. Second, True Audio relies on two ACE-managed real-time task queues. One queue is used for computing audio ray-tracing using the open-source Radeon Rays library, the other is used to calculate convolutional effects for positional audio and full surround sound rendering. Using two separate queues enables using the throughput of the dual compute units for low-latency and deterministic audio effects.
So, in simplistic terms (as far as I understand this) the feature can be enabled by reserving compute units to be dedicated to the task of performing raytracing for audio purposes. One of the two portions of the assigned compute unit (remember that the RDNA architecture is comprised of a dual compute unit which is, technically, counted twice when referring to how many CUs are present in a module [i.e. RX 5700 XT has 20 dual CUs and 40 CUs, total]) handles the Radeon Rays library calculations and the other portion handles the diffusion/cumulative effects of the local geometry on reflections and reverbrations on in-game audio sources.

The interesting thing here is that True Audio has been supported since 2013 and was then implemented in a GPU solution as True Audio Next with the release of the RX 400 series of graphics cards and has been maintained within the RDNA microarchitecture. This is, I believe what will drive the "3D audio" touted by SONY for the PS5.

This, of course, is doubly interesting to me because this means that there is a hardware/software implementation available for diffusion- and diffraction-based raytracing in both the Xbox SX and PS5 from only the GPU portion of the die, though only SONY is pushing its presence as a real add-on feature for the consumer as audio.

Frankly, this is a game-changer for VR positional audio and, ideally, could also be put into use for 5.1, 7.1 and stereo/surround headphones. Since SONY has a VR setup and MS doesn't, it makes sense for them to focus on this... but it does beg the questions: "Is this feature only available in VR?"; "Is there dedicated hardware available for this task or will it diminish the graphical capabilities of the console in order to utilise it?".

The two next gen consoles are differentiated (in terms of hardware) through 3D audio and controller... and MAYBE the Blu-Ray support?
This does bring us to the big question, though: How does this affect lighting raytracing? It's a common assumption that the term "raytracing" refers to graphical lighting of 3D spaces. This is a reduction of the potential of raytracing as the term purely refers to the drawing of lines from a point (or to a point) within a rendered space (whether that is 2D or 3D). The calculations performed post raytracing are inconsequential to the act of drawing those lines.

There have been rumours (yes, more rumours, rumours, rumours...) that raytracing is handled outside of the GPU on the PS5. In some ways, that would make sense. If the PS5 has fewer compute units than the SX, this is one way to draw parity because the compute units cannot do double duty. This is why, on the RTX series of cards, performance in-game is reduced significantly when raytracing is enabled - you cannot apportion resources more than once!

This type of implementation could also potentially reduce power usage and, thus, thermal output, since more specific (and thus limited) designs tend to be more power efficient. However, what remains to be seen is whether the audio is linked to the GPU portion of the silicon or whether it is also offloaded onto a dedicated part of the silicon. 

Take, for example, my calculations on I/O and CU size... if those are off by a few percent then we have extra space on the die area for another 4-6 compute units. Imagine a 36 CU RDNA graphics engine with 4 CUs dedicated to 3D audio and another unit dedicated to raytracing. Yes, this has been done before: PhysX was the creation of AGEIA and then purchased by NVidia and, somewhere down the line, incorporated into the graphics architecture and drivers. In this instance, I'll quote the wikipedia article on the situation:
Nonetheless GPUs are built around a larger number of longer latency, slower threads, and designed around texture and framebuffer data paths, and poor branching performance; this distinguishes them from PPUs and Cell as being less well optimized for taking over game world simulation tasks.
So, yes, the GPU is capable of this technology... but is it truly the best hardware? From a system builder/integrator perspective  the answer is a resounding "yes" because it cuts down on interoperability and price concerns. It also allows increased install base. From a system designer's perspective, GPGPU implementations are less ideal because they're less efficient and thus take up more die space and/or operational cycles.

This means that the two architectural differences between the SX and PS5 appear to be, from a complete outsider's point of view: More GPGPU power in order to achieve TFLOPs and raytracing OR more dedicated architecture which can perform each type of operation more efficiently but at a limited amount/threshold.

Could the Xbox SX also include 3D raytraced audio?

In theory, there's nothing stopping Microsoft from introducing raytraced audio into the driver stack and/or developers from implementing it in their game. This is a technology that is present for AMD GPU hardware and cannot be ignored: it's up to the specific focus of the developers to implement. However, this would reduce the available CUs for graphics and physics calculations.

Saying that, this potentially leaves two very distinctive design philosophies at play:

  • The design philosophy of the SX where the developer is free to allocate resources towards graphics/raytracing/3D audio as they see fit...
  • The design philosophy of the PS5 where the developer is able to take advantage of guaranteed resources for each, separate, component of graphics/raytracing/3D audio...
If I'm honest with myself, this creates more of a level playing field than people have currently assumed for the next generation of consoles. Sure, Xbox SX has a rumoured 12 TF performance... but split that over all three aspects and you have less performance within a given title. Sure, the PS5 has 9.2-10 TF performance but that doesn't include the off-GPU capabilities of the more efficient, but more specific, hardware; in effect, a theoretical PS5 could 'punch above its weight' in those regards.

If these assumptions and rumours are true, the next generation will be very interesting and, IMO, SONY could edge out Microsoft in terms of overall performance, despite having a less capable GPU...

No comments: