GPU (CUDA CORES) FOR DSP processing?

GPU rendering might help with the GUI but libraries such as OpenGL are really only designed for rendering video (implemented in Cubase as of version 5.5) and rely on other libraries such as Direct X, for audio.

Not sure it would be a good idea, considering CUDA is an nVidia exclusive. I’d be happy to be able to take advantage of that, because I love nVidia products and tend to favor them to AMD or other GPU brands. But what about those who use different products?

Incidentally, CUDA does not support the full C standard. That may be a problem too.

No CUDA, but openCL(AMD/NVIDIA), like this guy has done.
http://gpuimpulsereverb.de/

GPU dsp uses parallel processing which is of no use To real time audio processing.

It can be put to use with convolution reverbs but that’s about it.

MC

Ok, I admit I don´t get it, how can parallel be worst than serial processing? Wouldn´t serial always add something to chain? Parallel it would be same time?

Digital signals such as AES/EBU, S/PDIF are all serial in nature.

Completely irrelevant; many DSP algorithms can benefit greatly from parallel computation. Please don’t comment on things you clearly have no understanding of.

+1

Or use the Intel QuickSync functionality that’s built into modern Intel CPUs.
For example, I’m running my DAW with no discrete graphic from the HD4000 on the Ivy Bridge.
Those circuits are FAST!

Cheers,
Benji

Could you please discuss and disagree without being offensive? Thank you.

My apologies if my comment has been interpreted as offensive; however I fail to understand how pointing out that there is no relationship between serial data formats and parallel computation algorithms could offend anyone.

Sorry, please explain … perhaps I’m slow, but I am really not understanding the connection between my comment and the fact that you are linking to another unrelated topic where a forum member was being clearly abusive.

Pointing out that one’s argument is not correct and possibly explain why is perfectly fine - as not everyone can know everything about tech stuff and the Forum is here to discuss and learn from each other.

There is little to interpret here, though:

Maybe you can both get past this and continue the discussion as it began :slight_smile:

Regards,

I shall bow out then and let you folks get on with your uninformed discussion. I’ve already apologised if anything I’ve said has caused offence.

P.S. OpenGL: no (unsuitable), CUDA,: no (proprietary), OpenCL: yes

It may be as in the referenced thread that “strong language” is the issue.

We must bear in mind that always there are newcomers to the forum, in which case a cursory reading may cause one to take a relatively dim view of the collegiality of the forum.

No, please go on and let the others know, if you like.

This was definitely not an invitation to quit:

There are three common ways to use the power of a graphics card processor (“GPU”, graphics processing unit) for purposes other than graphics:

  1. CUDA: you have to have an Nvidia card
  2. OpenGL: will work with all graphics cards for which the vendor has provided a driver, but it’s primary purpose is to enable programmers to write graphics-oriented code that will work across multiple hardware types and operating systems. It’s very difficult for a programmer to use this for audio processing.
  3. OpenCL: will work with all processors (including both CPUs and GPUs) for which the vendor provides a driver and will work across hardware platforms and operating systems. This seems like the no-brainer solution for DAWs.

One drawback of OpenCL is that it’s early days yet for this coding technology, for example looking at video editing software it’s pretty clear that most of the efforts to date are unstable, however the situation is improving with newer video drivers and if a market is established where DAW use is an incentive to buy a specific graphics card, then it is certain that the quality of the drivers will improve drastically.

Many, many areas of audio processing can benefit from the massive power of today’s GPUs, and it is immaterial to the quality of the sound whether it’s processed by a CPU or a GPU. It is true that even multi-core CPUs might not offer immediate benefits for realtime processing, but if tasks such as FFT (that nice spectrum analyser you always like to have running!) and reverberation can be offloaded to an otherwise almost unused GPU, that leaves more cycles available to the CPU for realtime stuff like producing notes from a VSTi at low latency in response to a MIDI note.

GPU processing in Cubase? Yes, I’m all for it, but please use OpenCL, and please … let it be an option we can switch off if it causes trouble!

Convolution and FFT are the only things I can think of that work with parallel GPU processing and neither are really big CPU hogging things anyway.

There’s such a difference in realtime audio needs to video or scientific computing and that’s why GPU’s aren’t being used in audio, it just isn’t suitable.

for example IIR filers;

IIR filters are the basis of envelope filter which are the basis for virtually all dynamic effects that go beyond basic wave shaping. So what should we do about those effects

IIR filters can not be parallelized.

there’s one real world example of just one type of processing.


MC

Are you being serious here? The whole point is that the “big wins” are exactly those … they can be offloaded to a secondary processor.

OK I really don’t think you’re being serious here … are you?