Is PS4's focus on Compute a proper substitute for a more powerful CPU?

I didn't quite expect the latency figures given in the HSA audio engine talk for the GPU pipeline.
They were more off the cuff than specific cases, but I didn't think the queuing period under load was going as bad as he said it was (and I wasn't expecting it to be good).

There seems like there could be knobs they haven't had time to investigate using, but PPE and SPE task scheduling was described as being more tight than that.
 
When the PS3 has a powerful CPU, the developers mostly use it to handle graphics work. This is also partly because the GPU was relatively weaker.

It depends on what you consider important for a CPU. It was a fairly weak general purpose CPU. But a very strong CPU for certain highly parallelizable tasks. In general fairly weak. In narrow use cases quite powerful. Hence why it was particularly well suited to graphics work (highly parallelizable) but weak for stuff you'd want to do on CPU.

It was highly unbalanced as a CPU, hence why virtually no one outside of Sony/Toshiba/IBM used it.

Regards,
SB
 
I don't think it was necessarily unbalanced - it was just outright too difficult.
 
I personally think that the most straightforward approach is to move the whole graphics engine data processing to the GPU. This will free two or three CPU cores for game logic (logic/physics/AI/etc). Graphics programmers already know the GPU programming model, know how to write efficient code for GPU (and all the GPU bottlenecks) and have already written some compute shaders (for graphics post processing, lighting etc.). Graphics structure processing (scene management, culling, animation, rendering setup, data caching / required data set determination, etc of large amount of entities) is a problem that is relatively easy to run in parallel using the GPU. Many things in game logic (and AI) on the other hand are hard to parallelize / require lots of branching / irregular data accesses and thus suit CPU processing better.

As a graphics programmer, I wouldn't be comfortable if game programmers could run random (unknown) processing tasks on my GPU, stealing my cycles. That would make GPU optimization a lot harder than it is already. But on the other hand, I would be happy to let them have all my CPU cores (except for a small slice of one core) if I could have the whole GPU to my purposes. And I am sure that game play programmers would much rather have two or three extra CPU cores than a small slice of GPU time that they could only utilize in an asynchronous way using some arcane programming language and arcade programming model they have never used before.
 
Certainly that will be one valid approach. But how about a game like the modern sim city? Wouldn't processing behaviour simulation on that level be more suitable for CUs?
 
It depends on what you consider important for a CPU. It was a fairly weak general purpose CPU. But a very strong CPU for certain highly parallelizable tasks. In general fairly weak. In narrow use cases quite powerful. Hence why it was particularly well suited to graphics work (highly parallelizable) but weak for stuff you'd want to do on CPU.

It was highly unbalanced as a CPU, hence why virtually no one outside of Sony/Toshiba/IBM used it.

Regards,
SB

It is a powerful CPU for computation. :)
And this is a compute thread.
 
Well to be precise, tracing, echo and occlusion stuff should be a good fit.

Not really - because of the much longer wavelenght of sound compared to light, you can't eliminate the calculation of diffraction, transmission etc. You could of course make an extremely crude approximation of the reflection pattern - the question is then - wouldn't it be much faster to do it on the CPU because of the latency?

You could use the GPGPU for ex. convolution (either in the time or frequency domain), but it would take resources away from the graphics engine.
 
I didn't quite expect the latency figures given in the HSA audio engine talk for the GPU pipeline.
They were more off the cuff than specific cases, but I didn't think the queuing period under load was going as bad as he said it was (and I wasn't expecting it to be good).

There seems like there could be knobs they haven't had time to investigate using, but PPE and SPE task scheduling was described as being more tight than that.

Yeah I suspect he's talking about the standard GPGPU programming models, including OpenCL. Did he cite specific numbers ? I thought best case 10ms, worst case 20ms or 2 frame time was for the dedicated audio unit for effects (if they do it) ?
 
Not to troll the MS PR department, but i'd think a "more powerful CPU" would be unbalanced.
Sure, there are some tasks that would get an immediate boost, but when you think about the concept how data is manipulated and how GPGPU is a lot more efficient for a lot of tasks, then it makes sense that you create a system were all the components work together in perfect tandem. It is then when you can outperform a more powerful CPU. An i5 would be overkill in a lot of situations, it will only help devs who write un-optimised code. And if you train them to program like that, then they will need an i7 really fast. Bethesda is a good example; single and zero digit framerates.

:???: On 360/PS3 maybe. Skyrim, for example, isn't really CPU limited:

http://www.tomshardware.com/reviews/gaming-processor-frame-rate-performance,3427-6.html

Better CPUs do help it a little and the two Intel quad cores (i5s) give it a 23% or so boost over the dual core i3s. Their engine just doesn't presently use much beyond two main threads. Too many games are still like this (with a few exceptions such as the BF series). GPGPU has a performance impact on the GPU and is still kind of like re-inventing the wheel. We're going to see more efficient use and scaling of multithreading first since these consoles both have a lot of cores. Even that will be a challenge but at least PCs and pretty much any multicore device will benefit.
 
Is Mantle even enabled for PS4? Or is PS4 an equivalent of Mantle just by extension of it being accessible at a low level?

I was quite confused about this. A slide indicated that Mantle is related to PS4, by a Dice presentation I believe, but it didn't quite say that Mantle was "on" PS4 itself.

Not even sure if the official designation matters.

Also really wondering about the True Audio stuff... and does this relate to the GPU compute or CPU strictly or other processors in PlayStation 4.
 
Yeah I suspect he's talking about the standard GPGPU programming models, including OpenCL. Did he cite specific numbers ? I thought best case 10ms, worst case 20ms or 2 frame time was for the dedicated audio unit for effects (if they do it) ?

Near the end of the talk he spoke on the GPU's latency going high once the compute queues started filling up under load. The near-term picture was that he felt that for games that pushed the GPU, it was safer to assign workloads that wouldn't mind being 30-40ms behind.

Will the Mantle stuff help ?

Mantle's goal is to give a PC a more console-like way of rendering graphics.
Compute wasn't mentioned and the PS4 doesn't need help being more console-like.
 
Basically. Mantle is simply an API to give PC's console like low level access to the hardware. Consoles don't need that because they are already designed for low level access to the hardware. That's been the entire strength of console hardware since its inception, well that and the fixed/closed box nature of the specs.

Its all about getting the absolute most out of what you have as efficiently as possible. Hence why Cenry's design of the Playstation 4 is so appealing to me. I really hope devs will be able to maximize the potential of the device
 
Certainly that will be one valid approach. But how about a game like the modern sim city? Wouldn't processing behaviour simulation on that level be more suitable for CUs?
A next generation Sim City would have a huge amount of objects (city filled with buildings, trees, parks, vehicles, road ramps / train track pieces, bridges, etc) in the game world, and many objects would move (imagine rush hour traffic). Rendering (and determining what should be rendered) of this huge soup of objects would be very taxing to the CPU. The graphics engine could easily eat half of your CPU time in this scenario (3+ full CPU cores).

AMD and Nvidia optimized their PC graphics drivers for multithreaded (deferred context) rendering when CIV5 was released. Rendering the graphics in this kind of games can be quite taxing to the CPU. Now if you would instead move the rendering completely to the GPU, you would basically double the CPU resources you can spend on game logic. Thus it is a very good (and easy to control) way to offload CPU work to GPU.

Animation that doesn't affect game logic could of course be easily moved to GPU. GPU could for example handle the car movement without any CPU intervention. This is straightforward for cases where the animation is just purely cosmetic, and you don't need any feedback results back to game code. In this case the car animation would be comparable to particle animation. Both are just visual effects, nothing more. Of course GPU could also detect car collisions, and push this data to the CPU, but CPU would receive that information up to one frame late (up to one frame latency) This is acceptable for some processing, but makes some decision making very hard.
 
Guerrilla Games, GPU compute - and the future of PlayStation 4
GPU compute - seen as the area where PS4 is best equipped to give long-term results - has also been explored by Guerrilla for its first game. In the PlayStation Meeting demo, only memory defragmentation was handled by compute. In the final game, colour corrections and "force-fields" are also handled by the graphics core. Force-fields are another example of a fairly unnoticeable system that helps make the game look more natural.

http://www.eurogamer.net/articles/digitalfoundry-the-making-of-killzone-shadow-fall
 
Near the end of the talk he spoke on the GPU's latency going high once the compute queues started filling up under load. The near-term picture was that he felt that for games that pushed the GPU, it was safer to assign workloads that wouldn't mind being 30-40ms behind.

Ah, I missed that. Near term picture seems to suggest games need to change to address this issue.

Mantle's goal is to give a PC a more console-like way of rendering graphics.
Compute wasn't mentioned and the PS4 doesn't need help being more console-like.

That's exactly what I wanted to know. Will Mantle cover low level compute capability. I knew PS4 doesn't need Mantle per se. It has something "similar".
 
" It's a system called MADDER........ The point is that there should be no illusion that it's reverb - because it isn't. It's real-time reflections based on geometry."

Ehm - well - not sure what they mean, since reverberation IS the result of reflections based on geometry?!?!
They'll mean not a simple universal reverb effect applied to the audio stream, but a per-sound reverb based on geometry interaction.
 
Back
Top