The convolution reverb (which is probably also hidden inside Nebula 3 after reading their description) is probably
the plug-in that comes to mind, where a GPU can potentially help:
- the data set is very large (the impulse response can be several megabytes large)
- low latency is not necessary, so a latency of several hundred ms doesn't matter. It can be compensated by the host.
But most plug-ins are different: their data set is small (measured in a few samples), which makes them really inefficient for the GPU, because the transfer of audio data to the GPU and back is slow (much slower, than it would take the CPU to just do the math itself). And the reason why small data sets are used, is to keep the latency as low as possible.
On the other hand: if you follow common sense and keep the convolution reverb on a bus, the CPU load is usually not a big issue: you probably only use one, maybe two anyway. If you put the reverb into an instrument channel strip, the GPU reverb wouldn't work, because of the latency the GPU creates.
And while for playback the latency can be compensated (you could also freeze the track to have no CPU load at all), in live mode or recording the latency can not be compensated. Who want to hit a note at a keyboard or sing into a mic just to hear the result several hundred ms later?
BTW: A similar thing applies to Grand Central Dispatch, but in GC you can't predict the latency, which is
really bad for anything real-time.
BTW2: A sampler is an example where a plug-in has a very very large data set. But a sampler also doesn't cost any significant CPU anyway
and is often played live.