GPU Computing again....
I've been following the news for GPU-computing thats going on around OpenCL, nVidia's CUDA and AMD streaming computing for a while now and it sounds very exciting for the realm of audio processing. Now there have been quite a number of posts here that were of the kind "hey we need GPU-computing", but I was wondering where exactly the problems are and what the possible solution as well as possibilities (as to a possible usage of GPU-Computing) would be.
The obvious advantage of GPUs as has been stated everywhere is obviously its enormous processing power, when it comes to data-parallel tasks. That power is very applicable to digital audio processing, if I am not mistaken, which made me think about getting into a little coding in this respect (once I finish my thesis)...
Now Paul wrote the following in a post on GPU-Computing:
"GPGPU's are very powerful but also very latency-inducing. They are not designed for use in realtime, low latency contexts. If you were doing "offline rendering" they would offer huge amounts of power, but their current design adds many milliseconds to delays to signal processing."
I was wondering if someone with the knowledge could maybe elaborate a little further on that.
Ardour does have complete latency compensation (again if I am not mistaken) meaning that at least some of the audio effects could well be processed online on a GPU, as long as that compensation works correctly. Why would this not be viable?
I am not aware of how Ardour (or other programs for that matter) handles the effect processing and also not very familiar with LV2 or LADSPA (although I did read up on it a little).
Taking from the complexities that are being talked about, I suspect that the effect-plugins do not open their own threads on the CPU or do they? If they do, wouldn't it be possible to code them in OpenCL and use latency compensation?
Just to clarify: This isn't meant as a "please do this post", but rather I am wondering whether there is any sense to my idea of trying this as a personal project...
Hope this all doesn't sound too ridiculous, given that my knowledge of these things at the moment is still very rudimentary...
Thanks in advance for a reply,