AMD TrueAudio

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

AMD TrueAudio
AMD TrueAudio Technology logo 2014.svg
Design firm Advanced Micro Devices
Introduced October 2013
Type audio acceleration
File:AMD TrueAudio architecture.svg
AMD TrueAudio is a kind of audio co-processor.
Block diagram of HiFi Audio Engine DSP, which TrueAudio is based on. Shows the 56-bit wide MAC unit.

TrueAudio is the name given to AMD's ASIC intended to serve as dedicated co-processor for the calculations of computationally expensive advanced audio effects, like e.g. convolution reverberation effects and 3D audio effects. TrueAudio is integrated into some of the AMD GPUs and APUs available since 2013.

Overview

TrueAudio is a DSP for audio based on Cadence Tensilica HiFi EP DSP with Tensilica Xtensa SP Fload support.[1]

AMD claimed, that a few simple audio effects can use up to 14% of the CPU, Audiokinetic claim up to 10%.[2] Independent software vendors (ISV), such as game developers, can use what is called a Wwise audio plugin to offload such computations to the TrueAudio DSPs. The on-die TrueAudio DSPs provide a better "silicon area to computing power" ratio and "power consumption to computing power" ratio for audio processing than the CPU, effectively making it an audio acceleration unit. Any additional benefits of the TrueAudio DSPs, such as "better effects", have been severely criticized.[3]

The possibility to include multiple TrueAudio DSPs on a die speak to the expected acceleration benefits. And in case latency is important, the on-die TrueAudio DSPs should have a much lower latency than a discrete sound card on the PCI bus. Given that VR Head-mounted displays, such as the Oculus Rift, do require more computing power due to the necessity to deliver a frame rate of at least 75 FPS and the probable utilization of high display resolutions in the future, offloading any suitable calculations to highly specialized SIP blocks or chips makes sense.

It may be noteworthy that Unified Video Decoder is another ASIC by AMD which is also based on Tensilica's Xtensa, and that Tensilica is member of the HSA Foundation.

In 18 March 2014 AnandTech evaluated AMD TrueAudio using the Thief video game.[4]

Software support

File:AMD TrueAudio interfaces and layers.svg
Interfaces involved when offloading computations to AMD TrueAudio. Sound cards, AC'97/HDA-codec chips or audio over HDMI/DisplayPort are not affected. Neither are A3D, EAX or OpenAL.
Support for the AMD TrueAudio ASIC is contained in the Linux kernel device driver amdgpu.

AMD TrueAudio enables dedicated digital signal processing (DSP). Such dedicated audio processing horsepower is specifically for generating immersive soundscapes and saves CPU cycles that can be used for other game processing tasks such as AI and Physics.

The video games Murdered: Soul Suspect, Star Citizen, Thief and Lichdom: Battlemage (uses CryEngine) can be configured to use AMD TrueAudio if present.[citation needed]

There is an audio plug-in for Audiokinetic's Wwise (Wave Works Interactive Sound Engine) to off-load computation to the TrueAudio DSP(s). Wwise is available for Linux, OS X, Windows, PlayStation 4, Xbox One et al.

GenAudio's AstoundSound, a highly optimized collection of advanced DSP C/C++ software available as a library or a plugin for augmenting real-time audio engines on Linux, OS X, Windows as well as Android and iOS, can make use of AMD TrueAudio.[5] AstoundSound is also wrapped for several plug-in formats, such as RTAS and Wwise and has been integrated into several DSP chips. AstoundSound is described as fully programmable audio engine.[6][7] As of July 2014 there are no news regarding products supporting TrueAudio and LV2.

  • Tuscany AstoundSound on YouTube – special version of "Tuscany" VR demo from Oculus VR; AMD TrueAudio is utilized to calculate the spatialization of an audio environment. Spatialization is a technique that permits the audio engine to create a fully 3D soundfield on a stereo headset. This effect is powered by the positional 3D audio plugin "AstoundSound 3D RTI" (real-time interface) by GenAudio, and it includes support for elevation, distance and positioning. AstoundSound is e.g. integrated with the FMOD Studio.

Availability

AMD TrueAudio is found on-die of select AMD graphics cards and APUs. A die can house multiple AMD TrueAudio DSP cores, each having 32KiB instruction and data caches and 8KiB of scratchpad memory for local operation.[8]

AMD TrueAudio SIP blocks are found on the dies of some GPUs of the AMD Radeon Rx 200 Series;[9] namely the Radeon R7 260, Radeon R7 260X, Radeon R9 285, Radeon R9 290, Radeon R9 290X and the Radeon R9 295X2, and in Kaveri and Carrizo-based APUs.[9] TrueAudio is also supported by the PlayStation 4 hardware.[citation needed]

Some I²S solution is being used.[10][11]

Features of AMD Accelerated Processing Units
Brand Llano Trinity Richland Kaveri Carrizo Bristol Ridge Raven Ridge    Desna,
Ontario,
Zacate
Kabini,
Temash
Beema,
Mullins
Carrizo-L
Platform Desktop, Mobile Desktop, Mobile Mobile, Desktop Desktop, Mobile Ultra-mobile
Released Aug 2011 Oct 2012 Jun 2013 Jan 2014 Jun 2015 Jun 2016 Mar 2017 Jan 2011 May 2013 Q2 2014 May 2015
Fab. (nm) GlobalFoundries 32 SOI 28 14 TSMC 40 28
Die size (mm2) 228 246 245 244.62 TBA TBA 75 (+ 28 FCH) ~107 TBA
Socket FM1, FS1 FM2, FS1+, FP2 FM2+, FP3 FP4, FM2+ AM4, FP4 AM4 FT1 AM1, FT3 FT3b FP4
CPU architecture AMD 10h Piledriver Steamroller Excavator Zen Bobcat Jaguar Puma Puma+[12]
Memory support DDR3-1866
DDR3-1600
DDR3-1333
DDR3-2133
DDR3-1866
DDR3-1600
DDR3-1333
DDR4-2400
DDR4-2133
DDR4-1866
DDR4-1600
DDR3L-1333
DDR3L-1066
DDR3L-1866
DDR3L-1600
DDR3L-1333
DDR3L-1066
DDR3L-1866
DDR3L-1600
DDR3L-1333
3D engine[lower-alpha 1] TeraScale 2
(VLIW5)
TeraScale 3
(VLIW4)
GCN 1.1
(Mantle, HSA)
GCN 1.2
(Mantle, HSA)
GCN 1.3
(Mantle, HSA)
TeraScale 2
(VLIW5)
GCN 1.1
Up to 400:20:8 Up to 384:24:6 Up to 512:32:8 Up to 768:48:12 80:8:4 128:8:4
IOMMUv1 IOMMUv2 IOMMUv1[13] TBA
Unified Video Decoder UVD 3 UVD 4.2 UVD 6 TBA UVD 3 UVD 4 UVD 4.2 UVD 6
Video Coding Engine N/A VCE 1.0 VCE 2.0 VCE 3.1 TBA N/A VCE 2.0 VCE 3.1
GPU power saving PowerPlay PowerTune N/A Enduro
Max. displays[lower-alpha 2] 2–3 2–4 2–4 3 4 TBA 2 TBA
TrueAudio N/A [15] N/A[13]
FreeSync N/A N/A
/drm/radeon[16][17][18] N/A
/drm/amd/amdgpu[19] N/A Experimental N/A Experimental
  1. Unified shaders : texture mapping units : render output units
  2. To feed more than two displays, the additional panels must have native DisplayPort support.[14] Alternatively active DisplayPort-to-DVI/HDMI/VGA adapters can be employed.
Features of AMD Radeon GPUs
R100 R200 R300 R400 R500 R600 RV670 R700 Evergreen Northern Islands Southern Islands Sea Islands
Volcanic Islands Arctic
Islands/Polaris
Released Apr 2000 Aug 2001 Oct 2002 May 2004 Oct 2005 May 2006 Nov 2007 Jun 2008 Sep 2009 Oct 2010 Jan 2012 Sep 2013 Jun 2015 2016-Q2/Q3
Instruction set not publicly known TeraScale instruction set GCN instruction set
Microarchitecture TeraScale 1 (VLIW5) TeraScale 2 (VLIW5) TeraScale 3 (VLIW4) GCN 1.0 GCN 1.1 GCN 1.2 Polaris
Microarchitecture type Fixed pipeline Unified shader model
Direct3D 7.0 8.1 9.0 9.0b 9.0c 10.0 10.1 11.0 12.0 12.1
Shader Model 1.1 1.4 2.0+ 2.b 3.0 4.0 4.1 5.0
OpenGL 1.3 2.0 3.3 4.4 4.5
Vulkan N/A 1.0
OpenCL N/A 1.1 1.2 2.0
Power saving  ? PowerPlay PowerTune PowerTune & ZeroCore Power TBA
Unified Video Decoder N/A Avivo/UVD UVD+ UVD 2 UVD 2.2 UVD 3 UVD 4 UVD 4.2 UVD 5.0 or 6.0 TBA
Video Coding Engine N/A VCE 1.0 VCE 2.0 VCE 3.0 TBA
TrueAudio N/A TBA
FreeSync N/A TBA
Max. displays1 1–2 2 2–6 TBA
Max. resolution  ? 2–6x 2560×1600 2–6x 4096×2160 @ 60 Hz TBA
/drm/radeon N/A
/drm/amd/amdgpu N/A WIP[20] experimental TBA
  • 1 More displays may be supported with native DisplayPort connections, or splitting the maximum resolution between multiple monitors with active converters.


See also

Other AMD SIP blocks

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. 9.0 9.1 Lua error in package.lua at line 80: module 'strict' not found.
  10. http://permalink.gmane.org/gmane.linux.alsa.devel/142480
  11. http://lists.freedesktop.org/archives/dri-devel/2015-July/086081.html
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. 13.0 13.1 Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.

External links