TrueAudio

As part of the Kaveri package, AMD is also focusing on adding and updating their fixed function units / accelerators. Due to the jump on the GPU side to GCN we now have the TrueAudio DSP to allow developers to increase the audio capabilities in game, and both the Video Codec Engine (VCE) and Unified Video Decoder (UVD) have been updated.

All the major GPU manufacturers on the desktop side (AMD, NVIDIA, Intel) are pushing new technologies to help improve the experience of owning one of their products. There are clearly many ways to approach this – gaming, compute, content consumption, low power, high performance and so on. This is why we have seen feature like FreeSync, G-Sync, QuickSync, OpenCL adoption and the like become part of the fold in terms of these graphics solutions.

AMD’s new feature is TrueAudio - a fully programmable dedicated hardware element to offload audio tasks to.

The main problem with developing new tools comes down to whether they should be implemented in a general fashion or with a dedicated element. This comes down to the distinction of having a CPU or an ASIC do the work – if the type of work is specific and never changes, then an ASIC makes sense due to its small size, low power overhead and high throughput. A CPU wins out when the work is not clearly defined and it might change, so it opens up the realm of flexibility in exchange for performance per watt.

CPUs are now significantly powerful that a range of audio based techniques are available to them and the algorithms are optimized. The only limitation in this regard is the imagination of the developer or audio artist, which actually becomes part of the problem. When implementing an audio filter on the fly to a video game, the processing via the CPU can be overly taxing, especially when the effect is persistent over a long time. The example AMD gave in their press slide deck is one of adding reverb to an audio sample. The longer the reverb, the bigger the draw on CPU resources:

AMD cites this CPU usage as the effect of one filter on one audio sample. Imagine being in a firefight situation in a video game, whereby there are many people running around with multiple gunshots, splatter audio and explosions occurring. Implementing effects on all, and then transposing audio location to the position of the character is actually computationally expensive, all for the sake of realism. This is where the TrueAudio unit comes into play – the purpose is to offload all of this onto a dedicated bit of silicon that has the pathways built in for quicker calculations.

TrueAudio is also implemented on AMD's latest-generation R9 260 and R9 290 video cards – basically anything at least GCN 1.1 and up. Meanwhile we also know that the PS4’s audio DSP is based on TrueAudio, though given the insular nature of console development it's not clear whether the APIs are also the same on both platforms. AMD for their part is working with major audio middleware plugins (wwise, Bink) in order to help develop the TrueAudio ecosystem, so even in the case where the APIs are dissimilar, middleware developers can abstract that and focus on the similarities in the hardware underneath.

As is usually the case for these additional hardware features, games will need to specifically be coded to use TrueAudio, and as such the benefits of TrueAudio will be game specific. At the same time there are not any games currently on the market that can take advantage of the feature, so the hardware is arriving before there is software ready to use it. The first three games on AMD's list that will support TrueAudio are Murdered: Soul Suspect, Thief, and Lichdom. Much like FreeSync, I expect the proof is in the pudding and we will have to wait to see how it can affect the immersion factor of these titles.

Unified Video Decoder and Video Codec Engine

I wanted to include some talk about the UVD and VCE with Kaveri as both are updated – we get UVD 4, an update to error resiliency for H.264, and VCE 2, as shown below:

Of the two blocks, the improved VCE has the more interesting improvements to discuss. With the addition of support for B frames in H.264 encoding, the resulting ability to do backwards frame prediction should help improve the resulting image quality from VCE and/or reduce the required bitrates for any given quality level. Meanwhile the addition of support for the higher quality YUV444 color space in the H.264 encoder should help with the compression of primarily linear lineart/text, which in turn is important for the clarity of wireless displays.

Llano, Trinity and Kaveri Die: Compared A Deep Dive on HSA
Comments Locked

380 Comments

View All Comments

  • boozed - Tuesday, January 14, 2014 - link

    You must be a hoot at parties.
  • boozed - Wednesday, January 15, 2014 - link

    And I hit reply on the wrong bloody comment. My apologies...
  • monsieurrigsby - Wednesday, January 29, 2014 - link

    I'm a bit slow to the party, but talk of discrete GPUs leads me to the main question I still have that I don't see explained (possibly because the authors assume deeper understanding of CPU/GPU programming), and haven't seen discussed elsewhere. (I've not looked *that* hard...)

    If you have a Kaveri APU and a mid/high-end discrete GPU that won't work with Dual Graphics (if it arrives), what processing can and can't use the on-APU GPU? If we're talking games (the main scenario), what can developers offload onto the onboard GPU and what can't they? What depends on the nature of the discrete card (e.g., are modern AMD ones 'HSA enabled' in some way?)? If you *do* have a Dual Graphics capable discrete GPU, does this still limit what you can *explicitly* farm off to the onboard GPU?

    My layman's guess is that GPU compute stuff can still be done but, without dual graphics, stuff to do with actual frame rendering can't. (I don't know enough about GPU programming to know how well-defined that latter bit is...)

    It's just that that seems the obvious question for the gaming consumer: if I have a discrete card, in what contexts is the on-APU GPU 'wasted' and when could it be used (and how much depends on what the discrete card is)? And I guess the related point is how much effort is the latter, and so how likely are we to see elements of it?

    Am I missing something that's clear?
  • monsieurrigsby - Wednesday, January 29, 2014 - link

    Plus detail on Mantle seems to suggest that this might provide more control in this area? But are there certain types of things which would be *dependent* on Mantle?
    http://hothardware.com/News/How-AMDs-Mantle-Will-R...
  • nissangtr786 - Tuesday, January 14, 2014 - link

    I told amd fanboys the fpu on intel and the raw mflops mips ofintel cpu destroy current a10 apus, its no real suprise all those improvement show very little in benchmarks with kaveri steamroller cores. amd fanboys said it will reach i5 2500k performance, I said i3 4130 but overall i3 4130 will be faster in raw performance and I am right. I personally have an i5 4430 and it looks like i5's still destroy these a10 apu in raw performance.

    http://browser.primatelabs.com/geekbench3/326781
    browser.primatelabs.com/geekbench3/321256
    a10-7850k Sharpen Filter Multi-core 5846 4.33 Gflops
    browser.primatelabs.com/geekbench3/321256
    i5 4430 Sharpen Filter Multi-core 11421 8.46 Gflops
  • gngl - Tuesday, January 14, 2014 - link

    "I personally have an i5 4430 and it looks like i5's still destroy these a10 apu in raw performance."

    You seem to have a very peculiar notion of what "raw performance" means, if you're measuring it in terms of what one specific benchmark does with one specific part of the chip. There's nothing raw about a particular piece of code executing a specific real-world benchmark using a particular sequence of instructions.
  • chrnochime - Tuesday, January 14, 2014 - link

    Who cares what CPU you have anyway. If you want to show off, tell us you have at least a 4670k and not a 4430. LOL
  • keveazy - Tuesday, January 14, 2014 - link

    It's relevant that he used the i5 4430 in his comment. Compare the price range and you'll see. These AMD apu's are useless unless your just looking to build a PC that's not meant to handle heavily threaded tasks.
  • tcube - Thursday, January 16, 2014 - link

    Ok... heavily threaded tasks ok... examples! Give me one example of one software 90% of pc users use 90% of the time that this apu can't handle... then and ONLY then is the cpu relevant! Other then that it's just bragging rights and microseconds nobody cares about on a PC!

    Instead we do care to have a chip that plays anything from hd video to AAA 3d games and also is fast enough for anything else and don't need a gpu for extra cost, power usage heat and noise! And that ain't any intel that fits on a budget!
  • keveazy - Saturday, January 18, 2014 - link

    I'll give you 1 example. Battlefield 4.

Log in

Don't have an account? Sign up now