[FR] Use Cuda and / or OpenCL for plugins and VSTi

Read only! All feature requests and suggestions for upcoming releases of Nuendo 6 can be posted here.
Locked
Helidream
Junior Member
Posts: 118
Joined: Fri Feb 07, 2014 11:19 pm
Contact:

[FR] Use Cuda and / or OpenCL for plugins and VSTi

Post by Helidream » Tue Feb 17, 2015 8:52 pm

It would be helpful to use CUDA and or OpenCL for plugins, channel strips, resampling and VSTi like Halion.

CUDA and OpenCL are software API to access GPU (video card) parallel processors. Most mid range video cards do have those processors inside today.

This should greatly offload the main processor and help to reduce or eliminate overloads without buying expensive external processing hardware.

There are a couple VST plugins that use CUDA or openCL so it is definitely possible :

http://www.liquidsonics.com/software_reverberate_le.htm

http://gpuimpulsereverb.de/

Softwares in the graphics and video industry are using them as well since a few years (Photoshop, Edius ....).

Ideally channel Strips and Reverbs could become the first things with CUDA / OpenCL support.
Comps+OS: PC Intel Core i7 six core 's - X79 Chipset - 256 Go SATA SSD - 1 To SATA Hard disk, 16 Go RAM - Win 7 Pro 64 Dual 27" monitors - AMD Firepro V7900 video card - Nuendo 8.2.0.
MR816csx - UR44 - MOTU 828 mkIII audio interfaces - Control surfaces : JLCooper MCS3800 (mixing) - AKAI AFX + Midi translator Pro (monitoring) - Rogers LS3/5a proximity monitors.
Sony PCM-7040 DAT - TASCAM HD-P2 recorder - PTV PT5210 Digital sync generator - Steinberg Timebase - Adam Smith ZETA3 synchronizers.
Lindos LA100 audio analyzer, HP 5372A frequency and time interval analyzer, Siglent SDG2042X signal generator - Tektronix TDS5000 scope - Efratom 10 MHz rubidium clock - HP Z3816A GPS frequency standard.

gph
Junior Member
Posts: 54
Joined: Thu Jul 12, 2012 10:42 pm
Contact:

Re: [FR] Use Cuda and / or OpenCL for plugins and VSTi

Post by gph » Tue Feb 17, 2015 9:06 pm

It's tantalising knowing all that GPU power is there but there's a snag: the latency introduced by transferring data to and from the GPU for processing. that step is much slower than to and from the CPU, which is why developers don't tend to use the GPU for audio DSP. It might be more useful for offline bounce but less practical for realtime.

The LiquidSonics guys acknowledge this problem on the site you linked to. They write:

"GPU Edition: Status Notes
Zero latency mode is not supported by the GPU Edition due to a combination of factors including the mechanisms involved with transferring data to and from the GPU being much more efficient with larger blocks, a current requirement to run CUDA VST plug-ins in a separate thread (making larger block processing more efficient) and the lack of coherency in buffering schemes used by various different VST hosts complicating the above issues. It may become more practical to implement this feature in future using newer GPU architectures."

Helidream
Junior Member
Posts: 118
Joined: Fri Feb 07, 2014 11:19 pm
Contact:

Re: [FR] Use Cuda and / or OpenCL for plugins and VSTi

Post by Helidream » Tue Feb 17, 2015 10:20 pm

Zero latency seems to me only necessary for performers monitoring during recording.

Today this is correctly achieved using hardware interfaces that can bypass the workstation during recording to reduce the monitoring latency to a few ms or less. Today most if not all serious digital audio interfaces can do that.
In the other end a digital audio workstation alone cannot reliably deliver a small enough latency for recording. Even without inserted plugins, as soon as you try to reduce hardware I/O buffers to a very small amount to simulate zero latency, you start to have drop outs.

Those interfaces are using fast ADC / DAC and internal digital switching / mixing. Most even have basic EQ / reverb fast internal processing that can be eventually remote controlled from the DAW so that the performers monitoring can be processed for more musician comfort.
Another solution is to use a direct analog path between microphones / instruments and the headphones using a traditional analog mixing desk. Typically this is the case for recording studios when they still have large analog desks.

For mixing zero latency is generally not necessary. Latency can be compensated (to a limit particularly if mixing for live events). This latency compensation mechanism is implemented inside all modern DAW and digital audio mixing desks.

Do you have an idea about the amount of added latency using Cuda or OpenCL in a setup with a consequent amount of tracks / plugins and an optimized thread / buffer management ?

If this value stay inside reasonable limits, and because of the large amount of processing power available inside GPUs, there is no reason to not use this technology for audio processing and or VSTi. Eventually enhanced for audio use by Steinberg, like they did for ASIO drivers where they created a new standard followed by most hardware manufacturers, GPU processing could help to give a more reliable and more powerful DAW.

For video, the amount of available processing power is impressive and does allow to manage multiple full HD video streams in real time with processing enabled on each stream on a Intel PC. So we can imagine that for audio, this could translate to a phenomenal power because audio tracks are nothing compared to full HD video streams bandwidth.
Comps+OS: PC Intel Core i7 six core 's - X79 Chipset - 256 Go SATA SSD - 1 To SATA Hard disk, 16 Go RAM - Win 7 Pro 64 Dual 27" monitors - AMD Firepro V7900 video card - Nuendo 8.2.0.
MR816csx - UR44 - MOTU 828 mkIII audio interfaces - Control surfaces : JLCooper MCS3800 (mixing) - AKAI AFX + Midi translator Pro (monitoring) - Rogers LS3/5a proximity monitors.
Sony PCM-7040 DAT - TASCAM HD-P2 recorder - PTV PT5210 Digital sync generator - Steinberg Timebase - Adam Smith ZETA3 synchronizers.
Lindos LA100 audio analyzer, HP 5372A frequency and time interval analyzer, Siglent SDG2042X signal generator - Tektronix TDS5000 scope - Efratom 10 MHz rubidium clock - HP Z3816A GPS frequency standard.

User avatar
MattiasNYC
Grand Senior Member
Posts: 3158
Joined: Thu Dec 16, 2010 9:27 am
Contact:

Re: [FR] Use Cuda and / or OpenCL for plugins and VSTi

Post by MattiasNYC » Wed Feb 18, 2015 9:56 pm

Helidream wrote:Zero latency seems to me only necessary for performers monitoring during recording.
I agree. For me in post I do care about latency but no that much. Processing power is more important.

I can imagine some future plugins being extremely resource hungry and it being ok if GPUs can be accessed. Latency wouldn't matter in mixing simply because, well, it doesn't really.

Having said that I have no hope that it'd be implemented any time soon. I just don't think anyone wants to spend the resources to code for it when there are other things that can be done instead. But yeah... +1 I guess...
Nuendo 7.1.4 / Lynx TWO-B / Windows 10 Pro 64-bit / Ryzen 1700 3.7GHz (oc) / 16GB Corsair Vengeance DDR4@3200MHz / Nvidia GTX 660 / ASUS x370-A mobo/ 500GB WD Blue system drive / Crucial BX100 250GB SSD media / spinners for library/backup ::::: iZotope RX / Phoenixverb Surround / DaVinci Resolve / Faderport / Applied Acoustics UltraAnalog / my pet pony Frank

Locked

Return to “Feature Requests and Suggestions”

Who is online

Users browsing this forum: No registered users and 1 guest