The Radeon R9 280X Review: Feat. Asus & XFX - Meet The Radeon 200 Seriesby Ryan Smith on October 8, 2013 12:01 AM EST
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.