Convolution Reverb for NVidia and ATI GPUs - saving CPU time
-
- KVRian
- 837 posts since 22 Feb, 2001
-
enriquesilveti enriquesilveti https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=134639
- KVRist
- 34 posts since 4 Jan, 2007 from Spain
Hello Uncle E. I have this...
http://www.giga-byte.es/products/vga/sp ... hp_30.html
No fan, 1 GB DDR3 RAM, less than 130 euros in Spain working with Nebula3 under XP SP2 32 bits.
http://www.giga-byte.es/products/vga/sp ... hp_30.html
No fan, 1 GB DDR3 RAM, less than 130 euros in Spain working with Nebula3 under XP SP2 32 bits.
Saludos Enrique,
MBP 11.5 (W8.1 | OSX 10.11.6 | i7-4870 | 16 GB | x2 1TB SSD)
MBP 11.5 (W8.1 | OSX 10.11.6 | i7-4870 | 16 GB | x2 1TB SSD)
-
Nils Schneider Nils Schneider https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=45370
- KVRist
- Topic Starter
- 279 posts since 22 Oct, 2004 from Neuss, Germany
I've updated GPU Impulse Reverb to version 0.27
New in this version:
- Plugin keeps volume levels if another IR is loaded
Download as always can be found here:
http://www.nilsschneider.de/files/nsGPU ... TSetup.exe
Cheers
Nils
New in this version:
- Plugin keeps volume levels if another IR is loaded
Download as always can be found here:
http://www.nilsschneider.de/files/nsGPU ... TSetup.exe
Cheers
Nils
https://k1v.nilsschneider.de - Kawai K1 emulated as VSTi/AU
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP
-
- KVRian
- 906 posts since 24 Mar, 2009 from Canada
Nils...Great effort man...I too am looking into CUDA, Very cool technology, but with its limitations as far as who can use it. Hopefully that gets better, excellent work man..
KM
KM
-
Nils Schneider Nils Schneider https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=45370
- KVRist
- Topic Starter
- 279 posts since 22 Oct, 2004 from Neuss, Germany
Thank you
I'll change the plugin to OpenCL soon so that ATI users can use it, too. OpenCL is already in beta stage at NVidia, hopefully it'll be final soon.
FYI v0.28 is out that supports multiple GPUs.
I'll change the plugin to OpenCL soon so that ATI users can use it, too. OpenCL is already in beta stage at NVidia, hopefully it'll be final soon.
FYI v0.28 is out that supports multiple GPUs.
https://k1v.nilsschneider.de - Kawai K1 emulated as VSTi/AU
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP
-
- KVRian
- 906 posts since 24 Mar, 2009 from Canada
Nils, other developers like me are watching your progress with a great interest, Thank you for your efforts and that sounds like a great alternative..I for one love the possibilities of using 10 IR's at once to describe something..But right now that may kill us, but with these alternatives that you are researching and succeeding at is a breath of fresh air. Once again, thanks..
KM
KM
-
Nils Schneider Nils Schneider https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=45370
- KVRist
- Topic Starter
- 279 posts since 22 Oct, 2004 from Neuss, Germany
With a decent GPU, 10 IRs shouldn't be a problem.
My current project already uses 4 IRs and there is still a lot of GPU time available for more IRs. And I only have a GF 8600 GT.
I've got a lot of ideas for the program, e.g. some IR modifications like envelopes or something should be possible to add...
But OpenCL support comes first.
My current project already uses 4 IRs and there is still a lot of GPU time available for more IRs. And I only have a GF 8600 GT.
I've got a lot of ideas for the program, e.g. some IR modifications like envelopes or something should be possible to add...
But OpenCL support comes first.
https://k1v.nilsschneider.de - Kawai K1 emulated as VSTi/AU
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP
-
- KVRist
- 159 posts since 20 May, 2009
This is very cool! I'm going to try this out later today, and I'll let you know how it works. I have a 9600 GT so it ought to work. Hopefully it doesn't overheat the system... (fanless GPU)
Seems to work quite well here, with one instance using 0-3% of my GPU. However if I try to load an improper IR it causes FL Studio to hang. Oh well, it's a great bit of software regardless.
Any chance of a latency-free version in the future? That would really take the cake...
Seems to work quite well here, with one instance using 0-3% of my GPU. However if I try to load an improper IR it causes FL Studio to hang. Oh well, it's a great bit of software regardless.
Any chance of a latency-free version in the future? That would really take the cake...
-
Nils Schneider Nils Schneider https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=45370
- KVRist
- Topic Starter
- 279 posts since 22 Oct, 2004 from Neuss, Germany
Just to let you all know, I started developing this plugin further. The new version will have some nice additions what you may like:
- CUDA removed and replaced by OpenCL, thus allowing both ATI/Radeon HD and NVidia Geforce cards to be used
- Performance reduced by about factor 2
- Native x64 version of the plugin
- GUI replacement
- reduced latency
The version is already working nicely here but needs the new GUI to be finished before I can release it.
- CUDA removed and replaced by OpenCL, thus allowing both ATI/Radeon HD and NVidia Geforce cards to be used
- Performance reduced by about factor 2
- Native x64 version of the plugin
- GUI replacement
- reduced latency
The version is already working nicely here but needs the new GUI to be finished before I can release it.
https://k1v.nilsschneider.de - Kawai K1 emulated as VSTi/AU
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP
-
Nils Schneider Nils Schneider https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=45370
- KVRist
- Topic Starter
- 279 posts since 22 Oct, 2004 from Neuss, Germany
The same as it is with Powercore / UAD-1 and other DSP-cards
I recommend one block size of the host, so if you are running your setup with 128 samples blocksize, you would have 128 samples latency. This is needed because computation for the GPU is done asynchronously, meaning you send a block of 128 samples to the GPU and the result is ready when the host sends the next 128 samples for processing.
A zero-latency mode would be possible aswell, but may raise the CPU load, because the process call from the host will be blocking because it waits for the GPU to finish it's computation, which doesn't make much sense but is truly possible.
One thing I want to tell all "uh oh PCIe is THE bottleneck" guys, I can't read it anymore.
Did you ever think about UAD-1 / Powercore PCI? Yes, they run on PCI and were able to transfer a lot of stereo 32bit streams from/to DSP card, but this was done already on usual, old PCI slots.
Now the modern graphics cards have PCI-express, which is multipla magnitudes faster, do you really think this would be a bottleneck? Never ever. Games transfer hundreds of megs other the bus, for audio, at 44,1khz 2ch audio this is about 700kb per second, this is no issue at all.
I will code a little test plugin that does nothing more than amplification, we will see, I bet 100 bucks that zero-latency is possible and usable in every-day usage.
I recommend one block size of the host, so if you are running your setup with 128 samples blocksize, you would have 128 samples latency. This is needed because computation for the GPU is done asynchronously, meaning you send a block of 128 samples to the GPU and the result is ready when the host sends the next 128 samples for processing.
A zero-latency mode would be possible aswell, but may raise the CPU load, because the process call from the host will be blocking because it waits for the GPU to finish it's computation, which doesn't make much sense but is truly possible.
One thing I want to tell all "uh oh PCIe is THE bottleneck" guys, I can't read it anymore.
Did you ever think about UAD-1 / Powercore PCI? Yes, they run on PCI and were able to transfer a lot of stereo 32bit streams from/to DSP card, but this was done already on usual, old PCI slots.
Now the modern graphics cards have PCI-express, which is multipla magnitudes faster, do you really think this would be a bottleneck? Never ever. Games transfer hundreds of megs other the bus, for audio, at 44,1khz 2ch audio this is about 700kb per second, this is no issue at all.
I will code a little test plugin that does nothing more than amplification, we will see, I bet 100 bucks that zero-latency is possible and usable in every-day usage.
https://k1v.nilsschneider.de - Kawai K1 emulated as VSTi/AU
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP
-
Nils Schneider Nils Schneider https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=45370
- KVRist
- Topic Starter
- 279 posts since 22 Oct, 2004 from Neuss, Germany
Yes, no problem.
https://k1v.nilsschneider.de - Kawai K1 emulated as VSTi/AU
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP
- KVRAF
- 2925 posts since 29 May, 2009 from New Zealand
-
Nils Schneider Nils Schneider https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=45370
- KVRist
- Topic Starter
- 279 posts since 22 Oct, 2004 from Neuss, Germany
This is a short demonstration of the plugin work-in-progress:
http://www.youtube.com/watch?v=QVhTUfLtEwA
http://www.youtube.com/watch?v=QVhTUfLtEwA
https://k1v.nilsschneider.de - Kawai K1 emulated as VSTi/AU
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP