Technical investigation into PS4 and XB1 audio solutions *spawn

It's a reasonable gamble of course since:

  • AMD really wants compute to be a thing used by everyone.
  • Nvidia has a business based on compute essentially. ( Titan is a reduced compute version of more compute heavy cards )
  • Every GPU these days has at least some compute around to play with.
  • XB1 also has compute.

So GPGPU isn't the easiest thing to program for but there are lot of people looking into it because it's ubiquitous and it can solve problems. Cerny is also betting that there will be middleware folks that may find compute a profitable niche. That would be more speculative but definitely a win for GPGPU if they did.

It is somewhat interesting, however, that AMD specifically included an Audio DSP block to support audio in their GPUs rather than using compute for anything audio related in games. And from what Dave said, it was mainly due to synchronization issues rather than contention for GPU compute resources.

Meaning that it's likely far more complicated than one would assume to do properly synchronized game audio through GPU compute than otherwise (CPU for example). With audio manipulation programs that isn't gong to be an issue as there is nothing you have to synchronize it with. With video players, again, it isn't an issue as you can delay your video stream in order to synchronize with the audio. For games, you can't delay each frame of the game to synchronize with the audio.

As well, while much time and money has been invested to do audio manipulation through CUDA for Nvidia hardware, that doesn't apply to game audio. And it isn't as if Nvidia or developers are afraid to use GPU compute for non-graphics rendering purposes. Nvidia have been pushing hard for GPU compute to be used in games whenever possible, so them avoiding it for game audio is fairly conspicuous.

What isn't known, of course, is whether Sony have included any modifications to the the GPU block with an eye towards solving that problem.

Regards,
SB
 
They have access to the SHAPE part of the audio block in Xbox One, and it should be very easy to leverage. What they don't have access to is the DSPs in the audio block.

That said, the fixed functionality of SHAPE is comparable to whatever this DSP is in the new AMDs cards.
That's my point it's not comparable.
To do True Audio or environmental type stuff, you would need to use either CPU, GPU, or maybe be able to leverage part of the audio block that isn't SHAPE.

Not saying SHAPE wont help, if anything it helps by freeing up resources to be able to do the other stuff :LOL:
 
AMD's conference -AMDs solution is an independent audio DSP- and the discussion about SHAPE here -depending on the effects they apply anyways-. Well, it will certainly help having them, a bird in the hand is worth two in the bush, as they say.
 
And from what Dave said, it was mainly due to synchronization issues rather than contention for GPU compute resources.
Latency may well play a part there also... GPU pipeline is likely very, possibly extremely long, plus there might be very long-running shaders spinning on the shader arrays, so unless GCN2 brings pre-emptive multitasking for the GPU, doing sound on the CUs could be difficult.

Try getting ASIO compatibility with the GPU running compute shaders at the same time by doing processing on the CUs... Audio engineer's nightmare! ;)
 
Latency may well play a part there also... GPU pipeline is likely very, possibly extremely long, plus there might be very long-running shaders spinning on the shader arrays, so unless GCN2 brings pre-emptive multitasking for the GPU, doing sound on the CUs could be difficult.

Try getting ASIO compatibility with the GPU running compute shaders at the same time by doing processing on the CUs... Audio engineer's nightmare! ;)

Why not just use the CU to encode the game video stream then? Adding a specialized video encoder chip seem such pointless waste.

(I know why, I'm just being sarcastic).
 
It is somewhat interesting, however, that AMD specifically included an Audio DSP block to support audio in their GPUs rather than using compute for anything audio related in games. And from what Dave said, it was mainly due to synchronization issues rather than contention for GPU compute resources.

Meaning that it's likely far more complicated than one would assume to do properly synchronized game audio through GPU compute than otherwise (CPU for example). With audio manipulation programs that isn't gong to be an issue as there is nothing you have to synchronize it with. With video players, again, it isn't an issue as you can delay your video stream in order to synchronize with the audio. For games, you can't delay each frame of the game to synchronize with the audio.

As well, while much time and money has been invested to do audio manipulation through CUDA for Nvidia hardware, that doesn't apply to game audio. And it isn't as if Nvidia or developers are afraid to use GPU compute for non-graphics rendering purposes. Nvidia have been pushing hard for GPU compute to be used in games whenever possible, so them avoiding it for game audio is fairly conspicuous.

What isn't known, of course, is whether Sony have included any modifications to the the GPU block with an eye towards solving that problem.

Regards,
SB
Not only that, NVidia created some of the best audio chips in the past, like the original Xbox audio chip, which supported a technology called Aureal3D natively, so they know damn well how to create a DSP like that. I expect new graphics cards from NVidia with an audio DSP in the future...

Additionally, regarding the PS4 we know next to nothing about the audio chip, except for a few references and comments from Mark Cerny. We know it's real, and not in our imagination after all, but it has never been much publicised. The latest news I read on the subject is this, and they just mention audio on the PS4, but not exactly the technology of the audio chip.

http://www.gamingunion.net/news/new...nsumption-and-performance-revealed--9886.html
 
Not really, shape can't do convolution reverb, which audiokinetic just said the AMD tech can do. What shape can do is free up an entire CPU core that the game can then use for convolution reverb :)

Relab must be seething that all the game companies are hyping convolution reverb, and ignoring his high end, cheaper, and better custom reverb algorithms. Don't say I didn't warn you. :)

May I ask where this metric of a 'entire CPU core' comes from, what game it was from, what sounds where running, what filtering was happening, what console it was on, etc.

Thanks
:)
 
Last edited by a moderator:
This is the audio technology AMD graphics cards are going to use with their DSP.


It seems that the PCs with AMD graphics and Xbox One are going to play audio without affecting the CPU and GPU processing of the system.

This technology might make into the PS4 as well via GPGPU? I don't know, but they made a DSP for it 'cos it does seem unviable on PCs without a DSP because GPGPU code has to be carefully crafted.

However in the case of the PS4 they could use the CUs for this, I guess. We shall see.

right i understand that but im talking about the other 80% of pc owners who wont have a true audio gpu or sound card. wouldnt they be just like ps4 in that mixing and filtering would have to be handled by the cpu? it seems that would be what multiplatform engines are based around and then for higher end setups they do the mixing y filtering on the true audio dsp/shape.

ive read some people say that multiplatform engines are going to want to keep parity as much as possible because the cpus are weak and as a result ps4 will have to use the 4cus to do any audio because it has to match what xbo can do. but to me it makes more sense that ps4 cpu is 'lowest common denominator' so for the foreseeable future engines will handle mixing and filtering on ps4 cpu then as gpgpu audio matures then they'll move audio to that. the reason i see it like that is because if what they were syaing in the amd presentation is right, most pcs handle game audio mixing on the cpu so it seems like both pcs and ps4 are the same in that regard. and xbo can do it on shape and free up cpu resources to enhance other things.

or am i wrong in how im approching it?
 
right i understand that but im talking about the other 80% of pc owners who wont have a true audio gpu or sound card. wouldnt they be just like ps4 in that mixing and filtering would have to be handled by the cpu? it seems that would be what multiplatform engines are based around and then for higher end setups they do the mixing y filtering on the true audio dsp/shape.

ive read some people say that multiplatform engines are going to want to keep parity as much as possible because the cpus are weak and as a result ps4 will have to use the 4cus to do any audio because it has to match what xbo can do. but to me it makes more sense that ps4 cpu is 'lowest common denominator' so for the foreseeable future engines will handle mixing and filtering on ps4 cpu then as gpgpu audio matures then they'll move audio to that. the reason i see it like that is because if what they were syaing in the amd presentation is right, most pcs handle game audio mixing on the cpu so it seems like both pcs and ps4 are the same in that regard. and xbo can do it on shape and free up cpu resources to enhance other things.

or am i wrong in how im approching it?

Well if SHAPE can cater for ~100GFLOPS and each CU is 102GFLOPS and we assume that they can map to the CU with the same efficiency then you only need 1 CU to match it. But there is a lot of variables in there.
 
Well if SHAPE can cater for ~100GFLOPS and each CU is 102GFLOPS and we assume that they can map to the CU with the same efficiency then you only need 1 CU to match it. But there is a lot of variables in there.
Everyone talks about this 100GFLOPS, but all I've ever said is that the entire 360 CPU would not be able to run Shape at 100%. Remember that the 360 CPU gets, on average, an IPC of 0.2. So while the chip is _technically_ 100GFlops, you will never see that in real running code. Jaguar cores have an IPC of close to 1. A single jaguar core could almost outperform the entire 360 CPU on production code.
May I ask where this metric of a 'entire CPU core' comes from, what game it was from, what sounds where running, what filtering was happening, what console it was on, etc.

Thanks
:)
http://www.examiner.com/article/xbo...e-benchmarks-revealed-at-hot-chips-conference
SHAPE offloads >1 CPU core
Audio offload processor custom designed by Microsoft - 1 CPU core worth of processing.
 
Everyone talks about this 100GFLOPS, but all I've ever said is that the entire 360 CPU would not be able to run Shape at 100%. Remember that the 360 CPU gets, on average, an IPC of 0.2. So while the chip is _technically_ 100GFlops, you will never see that in real running code. Jaguar cores have an IPC of close to 1. A single jaguar core could almost outperform the entire 360 CPU on production code.
http://www.examiner.com/article/xbo...e-benchmarks-revealed-at-hot-chips-conference

Could you possibly elaborate more on the >1 CPU core of processing? Im just wondering because I was looking for some PS3 game CPU utlisation numbers for sound (I could only find 1) and it seem'd that, that game was only using ~1/2 (maybe less) off 1 SPU for its entire sound processing. It was KZ2 so it possibly has lower requirements then other games (for example racing games). But this doesn't seem to jive with the whole >1 CPU core of processing when that 1/2 includes a lot more then shape would do most likely.
 
So SHAPE is't very special, I read somewhere that 8 cores of 16 core cpu was used to simulate SHAPE, or SHAPE is equal to 2 CUs ... :D
 
So SHAPE is't very special, I read somewhere that 8 cores of 16 core cpu was used to simulate SHAPE, or SHAPE is equal to 2 CUs ... :D

That rumor is true as far as I know (8 core CPU to simulate SHAPE in early dev kits). I heard it from good source.

But SHAPE has fixed function so yeah, emulating it might not be easy. And this might include much of the chip being reserved for Kinect.
 
It sounds like it's extremely capable at what it does, but there are a lot of people who've inflated it's capabilities in their minds in an attempt to win console war arguments. Both in terms of how capable it is and in terms of how it can be used.
 
It sounds like it's extremely capable at what it does, but there are a lot of people who've inflated it's capabilities in their minds in an attempt to win console war arguments. Both in terms of how capable it is and in terms of how it can be used.

clearly being able to allow one cpu core to be available for other tasks might just come in handy when making a game.
 
Could you possibly elaborate more on the >1 CPU core of processing? Im just wondering because I was looking for some PS3 game CPU utlisation numbers for sound (I could only find 1) and it seem'd that, that game was only using ~1/2 (maybe less) off 1 SPU for its entire sound processing. It was KZ2 so it possibly has lower requirements then other games (for example racing games). But this doesn't seem to jive with the whole >1 CPU core of processing when that 1/2 includes a lot more then shape would do most likely.

First of all a single SPU is really fast running at 3.2GHz to boot
Second PS4/X1 doesn't have any SPUs
Third KZ2 isn't doing any fancy sound tech
 
Could you possibly elaborate more on the >1 CPU core of processing? Im just wondering because I was looking for some PS3 game CPU utlisation numbers for sound (I could only find 1) and it seem'd that, that game was only using ~1/2 (maybe less) off 1 SPU for its entire sound processing. It was KZ2 so it possibly has lower requirements then other games (for example racing games). But this doesn't seem to jive with the whole >1 CPU core of processing when that 1/2 includes a lot more then shape would do most likely.
How would an SPU compare with a Jaguar core for audio?

I recall a KZ:SF tech slide where they had 1 CPU core down for audio.
 
Back
Top