PDA

View Full Version : Audio processing via GPU


April 11th 08, 03:18 PM
Came across a very interesting subject -- Efficient 3D Audio
Processing on the GPU.

It's available at http://www-sop.inria.fr/reves/projects/GPUAudio/

What interest about it is the ingenuity of the project, in tapping
into the enormous power of the GPU -- even the low-end videocards
based on Radeon HD 2600 GPU has 120 stream processors running in
parallel !!! -- in doing something truly amazing.

According to the article -- in comparing an optimized SSE assembly
code running on a Pentium 4 3GHz processor and an equivalent Cg/OpenGL
implementation running on a nVidia GeForce FX 5950 Ultra graphics
board on AGP 8x, with the following result ....

"The SSE implementation achieves real-time binaural rendering of 700
sound sources, while the GPU renders up to 580 in one time-frame
(about 22.5 ms). Assuming floating-point texture resampling could be
done in hardware, not requiring explicit interpolation in the shader,
the GPU could render up to 1050 sources.

For mono processing, the GPU treats up to 2150 (1 texture fetch) /
1200 (2 texture fetches and linear interpolation) sources, while the
CPU handles 1400 in the same amount of time. On average, the GPU
implementation was about 20% slower than the SSE implementation but
would become 50% faster if floating-point texture resampling was
supported in hardware."

If you read the above quote, please pay attention to the fact that the
GPU was an ancient GeForce FX 5950 Ultra, circa 2003 !!

Imagine what we can achieve with super-duper-ultra-powerful GPUs that
are on our videocards??

And if that's not enough, imagine what we can do if we can tap into
the raw power of the GPUs, with assembly language?? The entire
soundcard industry would crash and burn overnite !!

Dr.White
April 11th 08, 04:33 PM
> wrote in message
...
> Came across a very interesting subject -- Efficient 3D Audio
> Processing on the GPU.
>
> It's available at http://www-sop.inria.fr/reves/projects/GPUAudio/
>
> What interest about it is the ingenuity of the project, in tapping
> into the enormous power of the GPU -- even the low-end videocards
> based on Radeon HD 2600 GPU has 120 stream processors running in
> parallel !!! -- in doing something truly amazing.
>
> According to the article -- in comparing an optimized SSE assembly
> code running on a Pentium 4 3GHz processor and an equivalent Cg/OpenGL
> implementation running on a nVidia GeForce FX 5950 Ultra graphics
> board on AGP 8x, with the following result ....
>
> "The SSE implementation achieves real-time binaural rendering of 700
> sound sources, while the GPU renders up to 580 in one time-frame
> (about 22.5 ms). Assuming floating-point texture resampling could be
> done in hardware, not requiring explicit interpolation in the shader,
> the GPU could render up to 1050 sources.
>
> For mono processing, the GPU treats up to 2150 (1 texture fetch) /
> 1200 (2 texture fetches and linear interpolation) sources, while the
> CPU handles 1400 in the same amount of time. On average, the GPU
> implementation was about 20% slower than the SSE implementation but
> would become 50% faster if floating-point texture resampling was
> supported in hardware."
>
> If you read the above quote, please pay attention to the fact that the
> GPU was an ancient GeForce FX 5950 Ultra, circa 2003 !!
>
> Imagine what we can achieve with super-duper-ultra-powerful GPUs that
> are on our videocards??
>
> And if that's not enough, imagine what we can do if we can tap into
> the raw power of the GPUs, with assembly language?? The entire
> soundcard industry would crash and burn overnite !!

This processing power is all well and good but it does not and cannot solve
the problem of poor-sounding DACs (and ADCs) that give the soundcard it's
tonal quality and character (or not). You can keep audio in the digital
domain for so long, but it needs to be converted to an analog signal before
you can hear it. Good DACs are still expensive to buy new, even in bulk, to
mount on a soundcard or other audio device. Perhaps if someone could find a
way to wire those 'dual 400MHz RAM|DACs' on Nvidia cards for sound output??
Somehow I still doubt that they'd sound anything like a pair of Burr-Brown
DACs from 1989.

Dr.White.

Wolfgang Kern
April 11th 08, 09:53 PM
> wrote:

> Came across a very interesting subject -- Efficient 3D Audio
> Processing on the GPU.

> It's available at http://www-sop.inria.fr/reves/projects/GPUAudio/

> What interest about it is the ingenuity of the project...

Yes, GPUs show a lot of abilities which can be used for many
non 3D-graphic issues as well.
Last thing I heard, it may be capabible for speach to text/command
already, beside FFT or matrix-calculations.

AMD did a real good job on ATI cards here... even I still have some
problems to convert recent published docs into hardware driver
solutions.
Perhaps I need to read it several times (as usual required :)
Nvidea is still an invisible dog within my reach... Any hints ?

__
wolfgang

cr88192
April 12th 08, 05:52 AM
> wrote in message
...
> Came across a very interesting subject -- Efficient 3D Audio
> Processing on the GPU.
>

<snip>

>
> If you read the above quote, please pay attention to the fact that the
> GPU was an ancient GeForce FX 5950 Ultra, circa 2003 !!
>
> Imagine what we can achieve with super-duper-ultra-powerful GPUs that
> are on our videocards??
>

you... know... what...

sound processing is usually a minor enough task (not usually all that CPU
intensive), and usually tweaky enough (most actually CPU-intensive
audio-processing tasks are not those well suited to the GPU pipeline), that
at present there is little practical reason to do most audio processing
tasks on the GPU...


for some narrow commercial or scientific tasks, this could be useful, but
for most general uses, it makes no real difference...


> And if that's not enough, imagine what we can do if we can tap into
> the raw power of the GPUs, with assembly language?? The entire
> soundcard industry would crash and burn overnite !!

you know what...


most soundcards are little more than glorified DACs, ADCs, and the machinery
to get the audio to/from said DACs and ADCs.


the older SoundBlaster cards used DMA to move data to/from the cards
(program the IO ports, handle IRQs, and mess with the DMA controller).

AFAIK nearly all newer soundcards just use some memory-mapped buffer or are
mapped into the address space somewhere, and the card itself plays this
region in a loop, leaving it up to the driver to manage the specifics.

unlike video cards, the soundcard doesn't "do" a whole lot anymore, mostly
just hadling said raw PCM data in its buffers, with nearly everything else
(mixing, midi-playback, ... being done in software, usually by the drivers,
the task of the drivers then is to periodically "paint" the samples to be
played into the buffer, avoiding that annoying looped-sound effect so
evident of a hard-freeze...).


and, in fact, some video cards now include soundcards (for example, the ATI
HD 2400), the reason being to allow sound output through said HDMI cables
(in my front room, for example, this serves to run both audio and video from
the computer to the TV).

presumably, much like the onboard variant, this is just another
address-space mapped buffer.


so, then:
given "most" people I think anymore just use onboard audio anyways;
the DAC's and ADC's (and maybe also amplifier circuits, ...) are still
needed for any sound to come out of the computer;
....

thus, there is really nothing to be overturned...


this is about like saying laptops are going to overthrow the cellphone
industry...

Dr. Richard Cranium
April 13th 08, 05:29 PM
"cr88192" > wrote in message
...
>
> > wrote in message
> ...
>> Came across a very interesting subject -- Efficient 3D Audio
>> Processing on the GPU.
>>
>
> <snip>
>
>>
>> If you read the above quote, please pay attention to the fact that the
>> GPU was an ancient GeForce FX 5950 Ultra, circa 2003 !!
>>
>> Imagine what we can achieve with super-duper-ultra-powerful GPUs that
>> are on our videocards??
>>
>
> you... know... what...
>
> sound processing is usually a minor enough task (not usually all that CPU
> intensive), and usually tweaky enough (most actually CPU-intensive
> audio-processing tasks are not those well suited to the GPU pipeline),
> that at present there is little practical reason to do most audio
> processing tasks on the GPU...
>
>
> for some narrow commercial or scientific tasks, this could be useful, but
> for most general uses, it makes no real difference...
>
>
>> And if that's not enough, imagine what we can do if we can tap into
>> the raw power of the GPUs, with assembly language?? The entire
>> soundcard industry would crash and burn overnite !!
>
> you know what...
>
>
> most soundcards are little more than glorified DACs, ADCs, and the
> machinery to get the audio to/from said DACs and ADCs.
>
>
> the older SoundBlaster cards used DMA to move data to/from the cards
> (program the IO ports, handle IRQs, and mess with the DMA controller).
>
> AFAIK nearly all newer soundcards just use some memory-mapped buffer or
> are mapped into the address space somewhere, and the card itself plays
> this region in a loop, leaving it up to the driver to manage the
> specifics.
>
> unlike video cards, the soundcard doesn't "do" a whole lot anymore, mostly
> just hadling said raw PCM data in its buffers, with nearly everything else
> (mixing, midi-playback, ... being done in software, usually by the
> drivers, the task of the drivers then is to periodically "paint" the
> samples to be played into the buffer, avoiding that annoying looped-sound
> effect so evident of a hard-freeze...).
>
>
> and, in fact, some video cards now include soundcards (for example, the
> ATI HD 2400), the reason being to allow sound output through said HDMI
> cables (in my front room, for example, this serves to run both audio and
> video from the computer to the TV).
>
> presumably, much like the onboard variant, this is just another
> address-space mapped buffer.
>
>
> so, then:
> given "most" people I think anymore just use onboard audio anyways;
> the DAC's and ADC's (and maybe also amplifier circuits, ...) are still
> needed for any sound to come out of the computer;
> ...
>
> thus, there is really nothing to be overturned...
>
>
> this is about like saying laptops are going to overthrow the cellphone
> industry...
>

c' mon the bloke is jusy jazzed about sound.


** no fate **
dracman




.................................................. ...............
Posted via TITANnews - Uncensored Newsgroups Access
>>>> at http://www.TitanNews.com <<<<
-=Every Newsgroup - Anonymous, UNCENSORED, BROADBAND Downloads=-

Rat River Cemetary
April 13th 08, 08:04 PM
Dr.White wrote:

>Good DACs are still expensive to buy new, even in bulk, to
> mount on a soundcard or other audio device.

When bought in bulk they are not expensive. I read about five bucks
each, depending on which DAC.