TrueAudio Technology: GPUs Get Advanced Audio Processing

The final major technical announcement coming out of AMD’s 2014 GPU product showcase was TrueAudio. For as much as Mantle caught us off guard on the software side, TrueAudio completely caught us off guard on the hardware side, as AMD implemented this very much under our noses.

Like Mantle, TrueAudio was something AMD covered in significant detail in their public session, and consequently we’ve already covered it in some depth in a previous article. However they have until now held back more details about the technology, which we can now share with you.

In a nutshell, TrueAudio is a return to the concept of hardware accelerated audio processing, with AMD leveraging their position to put the necessary hardware on the GPU. Hardware accelerated audio processing in the PC space essentially died with Windows Vista, which moved most of the Windows audio stack into software. Previously the stack was significantly implemented through drivers and as such various elements could be offloaded onto the sound card itself, which in the case of 3D audio meant having the audio card process and transform DirectSound 3D calls as it saw fit. However with Vista hardware processing and hardware access to those APIs was stripped, and combined with a general “good enough” mindset of software audio + Realtek audio codecs, the matter was essentially given up on.

Now even with the loss of traditional hardware acceleration due to Vista, you can still do advanced 3D audio and other effects in software by having the game engine itself do the work. However this is generally not something that’s done, as game developers are hesitant to allocate valuable CPU time to audio and other effects that are difficult to demonstrate and sell. Further complicating this is of course the current generation consoles, which dedicate a relatively small portion of what are already pretty limited resources to audio processing. As a result the baseline for audio is at times an 8 year old console, or at best a conservative fraction of one CPU core.

AMD for their part is looking at reversing this trend by integrating audio DSPs into their hardware. If developers have task-specific hardware, as AMD postulates, then they will be willing to take advantage of this hardware for improved audio processing and effects, comfortable in the fact that they aren’t having to give up other resources for the improved audio.

As for why AMD is doing this, it comes down to several factors. One of the biggest is as to be expected: product differentiation. AMD is always looking to differentiate themselves from Intel and NVIDIA on more than just price and performance, and this is one such way to do it. At the same time as AMD’s GPU division is significantly focused on gaming, there is a contingent within it that has wanted to do something like this because it’s something they haven’t worked on before; they have CPUs and GPUs, but nothing for audio processing. Finally, while AMD isn’t explicitly mentioning the next generation consoles in any of this, the fact of the matter is that with the Xbox One getting audio DSPs (albeit different ones than TrueAudio) now is going to be the best time for AMD to push the idea of doing it on PCs too, before everyone gets set in their ways for another generation of hardware.

Diving into the hardware aspects of TrueAudio, as one of the more unusual aspects new to the 200 series this a feature that’s unfortunately not going to be present on all 200 series cards. Only Bonaire and newer GPUs – presumably anything that’s GCN 1.1 – will feature TrueAudio. That means the functionality is limited to 260X and 290X. 280X, 270X, and the rest will never have this feature, as the audio hardware is simply not present on those older GPUs.

Now the astute among you will realize that Bonaire isn’t a new GPU either, and this is where AMD has caught us off guard. Bonaire has had the necessary TrueAudio hardware since the very beginning, some 7 months ago. On the 7790 and similar 7000/8000 series cards it simply was not enabled. Only with 260X (and any other 200 series Bonaire parts) will it be shipping enabled.  AMD has been hiding it right under our noses the entire time, which does make the confusion over what is and isn’t Sea Islands all the greater.

In any case, with this week’s release of TrueAudio enabled hardware AMD is also releasing the full architectural details of their TrueAudio technology. In this case AMD is taking an off-the-shelf solution, Tensilica’s HiFi EP DSPs, with AMD providing the glue that binds them together and integrating them onto the die of their GPUs.

Tensilica’s audio DSPs are task-specific programmable hardware, somewhere between fixed function and fully programmable in design, allowing for customized effects and processing to be done while still keeping the size and power costs low. The underlying hardware is programmable in C, while AMD for their part will be providing a TrueAudio API to access the hardware with. We don’t have a ton of details on the architecture of the DSP, but Tensilica’s product sheets imply that we’re looking at a VLIW architecture of some kind.

Moving on to memory, each DSP possesses 32KB of I-Cache and D-Cache, along with its own 8KB of scratch RAM. Additional memory is available from a 384KB shared cache for all of the DSPs, and finally shared VRAM access, allowing up to 64MB of VRAM to be allocated to the audio DSPs.

AMD is not telling us exactly how many audio DSPs are actually on each card, but we do know it’s between 1 and 10. Based on the size of the shared cache and memory sizes we suspect it’s a power-of-two number such as 8 or 4, with the former being the most likely. Furthermore we know that both the 290X and the 260X have the same number of DSPs, so despite the graphical performance gap as far as we know the two should be at parity for audio performance.

Going up a level we have AMD’s I/O glue, which includes the shared memory, VRAM access, additional registers, and of course all of the routing and DMA functionality necessary to make this work. AMD is taking a particularly keen interest in this aspect, as they know they need to get audio samples on and off of their DSPs quickly without tying up CPU resources or incurring too great a latency penalty. Their streaming DMA engine, complete with the ability to do scatter/gather memory accesses, will play a big part in this.

Going further up the audio stack, as we’ve mentioned in the past TrueAudio is an audio processing solution, not an audio presentation solution. With their DSPs AMD can process audio but they need to pass it back to the sound card for presentation. From a technical standpoint this is a bit tricky due to latency concerns – and is why the streaming DMA engine is so important – but video cards would make for a lousy environment for analog audio components anyhow. Furthermore separating processing and presentation means it’s a drop-in solution that will work with existing audio setups, be it a dedicated sound card, an integrated audio codec, USB audio, or even audio over DisplayPort/HDMI to a monitor or receiver.

Not unlike their Mantle efforts, AMD is taking a middleware-centric attitude with TrueAudio. Rather than only chasing down individual developers, AMD is first and foremost going after middleware developers in an attempt to get TrueAudio support worked into their various audio middleware packages. Success here means that every developer that uses these audio middleware packages (and that’s most of them) will at least have basic access to TrueAudio.  For their part AMD has already lined up Wwise developer Audiokinetic for TrueAudio support, and 3rd party developer GenAudio is producing plugins for Wwise, FMOD, and more.

AMD is naturally also lining up the necessary showcase titles for their new technology. Eidos will be including TrueAudio support in their upcoming Thief game, and newcomer Xaviant pledging support for their in development magical loot game, Lichdom.

With that said, the trick here for AMD, more so than Mantle, will be getting additional developers to put TrueAudio to good use. The use of plugins and other drop-in audio solutions certainly makes the task for developers easier, but TrueAudio is only as useful and effective as the audio tasks it’s given. The technology itself is proven, so that much isn’t in doubt. What is up in the air is whether developers and consumers, who have settled in this “good enough” environment, are interested in willing to make the additional effort to get better audio in games, similar to how the progression of graphics is simply seen as a given.

The immediate use cases for TrueAudio will be relatively straightforward. Having dedicated hardware with guaranteed performance means that much better 3D audio spatialization algorithms can be implemented, to the benefit of headphones, 2.1 speaker, and 5.1 speaker users alike. Most games implement little more than simple 2D panning and occlusion here, with the most basic of spatialization for 2.1/headphones users (if the game has it at all), so there’s clear room to benefit here by bringing (back) full 3D audio to all of those groups. Similarly the matters of reverb and other advanced audio techniques have only just begun to be touched.

Wrapping things up, based on existing experiences with 3D audio and testing out AMD’s tech demos we’re rather bullish on the technology itself and the benefits thereof. I had a chance to briefly try Xaviant’s Lichdom audio demo, which is already TrueAudio enabled. As someone who’s already a headphones-only gamer, this ended up being more impressive than any game/demo I’ve tried in the past. Xaviant has positional audio down very well – at least as good as Creative’s CMSS3D tech – and elevation effects were clearly better than anything I’ve heard previously. They’re also making heavy use of reverb, to the point where it’s being overdone for effect, but what’s there works very well.

And to be clear here, nothing here is really groundbreaking on a technical level; it’s merely a better implementation of existing ideas on positioning and reverb. But after a several year span of PC audio failing to advance (if not regressing) this is a welcome change to once again see positional audio and advanced audio processing taken seriously. Compared to contemporary software driven game audio in particular, this should be a big step up if it’s done right.

On a final note, unfortunately while TrueAudio is ready and enabled on the hardware at the moment, AMD’s hardware is coming before any software is ready. So while we’ve had the chance to try it out in AMD’s custom demos, there aren’t any games or demos publically available at this time, so we haven’t had the chance to test it any further. Hopefully we’ll have something soon, as it would be a bigger disappointment if nothing was ready in time for the 290X launch.

AMD Display Technologies: 3x DVI/HDMI Out, Tiled Display Support, & More Launching This Week: Radeon R9 280X
Comments Locked

151 Comments

View All Comments

  • Ryan Smith - Tuesday, October 8, 2013 - link

    That's the first I've seen of that, so I can't really comment.

    But when I was discussing Mantle with AMD, they did discount using OpenGL. There was a specific desire to have a pure API that was completely free from legacy cruft (and there's nothing cruftier than OGL) while also being free to quickly evolve the project without having to involve the ARB.
  • konondrum - Tuesday, October 8, 2013 - link

    Well this is one of the most disappointing products launches I've ever seen. At least the nVidia 700 series was more then a sticker change. This isn't even really a price drop as $300 7970s and $200 7870s (with game bundles) have been available for a while. Tell me AMD, why am I supposed to care? If these included TrueAudio at least that would be a differentiating feature, but there is seriously nothing new here at all.
    The only good thing I can say about this is that it makes me much more comfortable about my current 660ti 3gb. Looks like it will be strong though 2014 at least.
  • just4U - Tuesday, October 8, 2013 - link

    I've yet to see a 7970 GHZ Ed. for under $360.. Hell until a month and a half ago you were lucky to get it under $400 on sale.
  • just4U - Tuesday, October 8, 2013 - link

    At any rate this may put some pressure on Nvidia for their 7x series.. I think it's going to be incentive for those still rocking it out on Amd's 6000 series or Nvidia 500 series and earlier to maybe upgrade.

    Personally I figure if you got a 570/80 or a 6950 (or better) the new stuff by both companies is a bit of a hard sell unless your playing at crazy resolutions... most still sit comfortably in 1080P or 1920/1200 resolution and the old standby 1600/1050.
  • matagyula - Tuesday, October 8, 2013 - link

    I have been looking to replace my now 2 year old HD6870 with something a little beefier, and I was eagerly awaiting AMDs new product launch.
    But now I am left with even more questions than before - most importantly, should I upgade at all in the upcoming 8-12 months? The card is still putting in solid work, and while I have to settle for mid-high detail settings when it comes to titles like BF3 or Crysis 3, other games perform just fine /DotA 2 and CS:GO @ 1920*1200/.
    At the 170-200eur price range I am looking at HD7870, or waiting a couple months for the HD7950 to drop bellow 200eur, while the HD7970 is still at 330eur in Slovakia.
    The more I think about it the more I am inclined towards holding off for another year or so :|
  • ShieTar - Tuesday, October 8, 2013 - link

    Stop buying locally. You can order a 7970 for ~240€ from Germany, and delivery to Slovakia should not cost more than ~15€ :
    http://www.heise.de/preisvergleich/eu/?cat=gra16_5...
    Of course an Austrian or Polish shop may be even cheaper for some cards, if the postage is less than for a delivery from Germany. Or depending on where you live, maybe you just go and have a daytrip into either country and bring the card back home ;-)
  • just4U - Tuesday, October 8, 2013 - link

    Well Matt, I sold my 6950 2G and really wanted a 670 or a 7950-70 as I figured that was a decent upgrade. I settled for the 7870 and noticed some ok gains. It's a tough call for you though..

    The 280X is going to give you 7970GHZ Ed like performance according to reviews.. but basically in the price range of a 7870. Tempting.. but you might get lucky with close out deals on the 7970 or even see price drops on the 770 from Nvidia. that are more attractive. All worthwhile upgrades over the 6870 but not night/day differences.. We really haven't seen a chip come out yet that raises the bar to a whole new level.
  • piroroadkill - Tuesday, October 8, 2013 - link

    Wow. This is a boring card launch.
    The ASUS card itself is a good SKU, but absolutely nothing that could not have been done branded as 7970.
    I understand they have a lot of old GPUs they want to re-use, so they don't want to re-tool them for the TrueAudio DSP, but it is downright stupid that they didn't at least add another small package to the card with the DSP in, so the new range can have feature parity.

    AMD, your new card names are terrible, and this launch is pretty bland and watered down.
  • ninjaquick - Tuesday, October 8, 2013 - link

    Well, that is inevitable. AMD's GCN design is not top-down, it is fully modular. IMC / ROP / ShaderClusters are all their own modules, each 'TMU' is attached to 16 'compute cores'. The entire point of the GCN design is that it scales up infinitely. This is why AMD is releasing Mantle. There is no reason to abandon the GCN design in the near future.

    It is not like AMD is releasing a brand new never seen before design that is the culmination of years of design work. The 290X is literally a 7970 with 12 more ROPs and an extra 128bit memory path which are only needed to accomodate the extra 48 rendering clusters. If you were to take the 7970 and add 48 clusters at the same clock speed you would get *exactly* the same perf as what the 290X delivers. Simple as that.
  • thylboy - Tuesday, October 8, 2013 - link

    I saw on AMD´s homepage that these cards support their "Zero Core" technology. Can anyone confirm whether cards like this actually turn off the fans completely when in the long idle mode or not?

Log in

Don't have an account? Sign up now