[Asterisk-Dev] GPU backending for codecs

Steve Kann stevek at stevek.com
Thu Jan 20 07:33:56 MST 2005


Holger Schurig wrote:

>>Does anybody out there have the know-how and time to lead (or at least
>>help get some of us started)
>>    
>>
>
>I don't have know-how, but there are several web site that have the know 
>how, e.g.
>
>http://www.shadertech.com/
>
>
>I also know that on SF.NET there is a project of a hardware-gnostic GPU 
>programming language with compiler towards various GPUs, but I forgot the 
>name.
>  
>

That would be libsh, which Nick mentioned already :)

I think that there still probably needs to be some research done to see 
how much this might help; i.e. is there going to be a lot of latency or 
overhead in moving data to/from the GPU, and making things happen?

One characteristic of what we're trying to do here is that, for 
translators, we're performing lots of operations (encode/decode) on very 
small data sets;  So, in most cases, the encode operation might be:

1) copy 20ms of PCM audio to GPU-accessible memory (unless it can access 
main memory?)
2) Call the GPU routines.
3) The GPU does the encoding.
4) Wait for the GPU to complete.
5) copy back the encoded 20ms data.

As opposed to the Primary CPU equivalent:
C1) The CPU does the encoding.

This needs to be done 50 times/sec/call...

So, while (3) might be much faster than C1, 1+2+3+4+5 might not..

Of course, there may be ways to alleviate this, like coding many calls 
together or something, to exploit the GPU parallelism, etc, but there's 
still a real possibility that this might not be a win at all..

Certainly an interesting research project, though.

-SteveK

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20050120/bdd0b809/attachment.htm


More information about the asterisk-dev mailing list