How common is CUDA?
-
- KVRAF
- 5524 posts since 5 May, 2007 from Mars Colony
Hey guys. I'm mulling over stepping up my graphics card since price vs. power makes it not a big investment for a lot more power than I have now, plus I would be getting a CUDA capable card.
Since I haven't had that before, I really haven't paid much attention to it, but I was wondering if it's become fairly common for newer plug-ins or recent updates of older plug-ins to be CUDA capable, or if it's still only happening in isolated instances.
I know it's fairly common in convo plugs because GPU's tend to excel at convo, but is it good for much else and is it being used for any other types of effects or instruments?
Thanks,
Dave
Since I haven't had that before, I really haven't paid much attention to it, but I was wondering if it's become fairly common for newer plug-ins or recent updates of older plug-ins to be CUDA capable, or if it's still only happening in isolated instances.
I know it's fairly common in convo plugs because GPU's tend to excel at convo, but is it good for much else and is it being used for any other types of effects or instruments?
Thanks,
Dave
"You don’t expect much beyond a gaping, misspelled void when you stare into the cold dark place that is Internet comments."
---Salon on internet trolls attacking Cleveland kidnapping victim Amanda Berry
---Salon on internet trolls attacking Cleveland kidnapping victim Amanda Berry
- KVRAF
- 2686 posts since 5 Feb, 2004 from Nevada City, California
-
- KVRer
- 11 posts since 17 Dec, 2008 from Sweden, Jönköping
If you want to use GPU power on others computers you should take a look at OpenCL. NVidia supports it with many other GPU (AMD aswell)manufacturers.
Drawback if you are used to c++ is that you have to code everything in C.
Using OpenCL will make your code work on any computer with or without GPU capabilities.
There are loads of information on it. google or whatever you use.
/Che
Drawback if you are used to c++ is that you have to code everything in C.
Using OpenCL will make your code work on any computer with or without GPU capabilities.
There are loads of information on it. google or whatever you use.
/Che
-
- KVRAF
- 2830 posts since 2 Mar, 2003 from The only civilized county in Texas
GPUs are attached through the PCI buss. Meaning that data traffic is really slow, so in order to offload computations to a GPU, the amount of work per data needs to be very large. Not sure that that's true for most plugins.
People who use GPUs for non-graphic work usually ship off the whole computation to the GPU, rather than letting the GPU be a small part of a much larger job.
Victor.
People who use GPUs for non-graphic work usually ship off the whole computation to the GPU, rather than letting the GPU be a small part of a much larger job.
Victor.
-
- KVRAF
- Topic Starter
- 5524 posts since 5 May, 2007 from Mars Colony
I see, so there's a bottleneck, but apparently it doesn't get in the way of fast graphics frame rates.VicDiesel wrote:GPUs are attached through the PCI buss. Meaning that data traffic is really slow, so in order to offload computations to a GPU, the amount of work per data needs to be very large. Not sure that that's true for most plugins.
Also, plug-in DSP through PCI is common now because of e.g. UAD. I have a UAD-1 and latency isn't that big of an issue with only a few plug-ins operating.
"You don’t expect much beyond a gaping, misspelled void when you stare into the cold dark place that is Internet comments."
---Salon on internet trolls attacking Cleveland kidnapping victim Amanda Berry
---Salon on internet trolls attacking Cleveland kidnapping victim Amanda Berry
-
- KVRAF
- 2830 posts since 2 Mar, 2003 from The only civilized county in Texas
No, with graphics there is a lot of processing to be done on the data (the "graphics pipeline") so data stays on the GPU for a relatively long time, being operated on.A.M. Gold wrote:
I see, so there's a bottleneck, but apparently it doesn't get in the way of fast graphics frame rates.
Good point. Of course those cards have at most a dozen, fairly slow processors, that do complicated DSP operations. Cuda cards have hundreds of pretty fast processors doing simple stuff, preferably in data-parallel mode.Also, plug-in DSP through PCI is common now because of e.g. UAD.
I have no idea what that works out as in the end.
Victor.
-
- KVRAF
- 6323 posts since 30 Dec, 2004 from London uk
-
- KVRer
- 17 posts since 3 Oct, 2007 from Mountain View, CA
Actually, the GPU is not on the PCI bus, at least in any good motherboard, AFAIK. The regular 1x PCIe slots are hanging off the PCI buss. But the 16x that the GPU boards use are generally directly attacked to the chip set with their own, very high throughput, connection that is completely separate from the PCI bus. It's designed to handle video sized amounts of data, which is also pretty high priority.
So, unless I'm misunderstanding something, this is not an issue. The 16x slots should be able to handle very fast data transfers of way more data than an audio application would require.
If you look at this (fairly representative I think) description of one of the recent Intel chip sets, there's a diagram most of the way down the file. You can see that the 16x slot has a completely separate connection from the 1x slots. It's going directly to the memory controller, not to the I/O controller as the 1x slots do.
So, unless I'm misunderstanding something, this is not an issue. The 16x slots should be able to handle very fast data transfers of way more data than an audio application would require.
If you look at this (fairly representative I think) description of one of the recent Intel chip sets, there's a diagram most of the way down the file. You can see that the 16x slot has a completely separate connection from the 1x slots. It's going directly to the memory controller, not to the I/O controller as the 1x slots do.
- KVRAF
- 8494 posts since 12 Feb, 2006 from Helsinki, Finland
GPUs haven't been on the PCI bus for a long time. AGP was created 1997 and didn't exactly take that long to become more or less universal. The new PCIe on the other hand has little in common with the old PCI bus (except name ofcourse).Dean Roddey wrote:Actually, the GPU is not on the PCI bus, at least in any good motherboard, AFAIK.
-
- KVRian
- 523 posts since 30 Jan, 2009 from UK
In my experience with Reverberate LE which has a GPU mode for convolution reverb, it works well at high buffer sizes (4094 samples or so) but for lower buffer sizes you tend to see the effective memory bandwidth of transfers on/off the card that is available for use decreases, and CPU usage increases. Is this more of a driver issue than a PC architecture issue? I am not sure. Will it change? I expect so, a lot. Hence, using them for very low latency tasks, currently, is a bit poor, in future, probably it will be a non-issue.
Comparing the UAD's processors with a graphics chip doing general purpose tasks though isn't really fair on either; chips designed for single-task DSP are way better at DSP than chips that really were designed for parallel processing pixels in a scene but are being used for audio. DSP doesn't often tend to have much parallelism that can be exploited (as there is often feedback elements in their algorithms which mean they often have to be done sequentially rather than in parallel). Hence, such algorithms tend to be a poor fit; I would be surprised if we see current generations of GPUs being exploited for the wide range of DSP tasks like a UAD or Powercore are. Things like convolution (traditional, or of the type Nebula uses) are well suited, writing an efficient IIR filter is not. Will this change in future generations? Yeah maybe.
Comparing the UAD's processors with a graphics chip doing general purpose tasks though isn't really fair on either; chips designed for single-task DSP are way better at DSP than chips that really were designed for parallel processing pixels in a scene but are being used for audio. DSP doesn't often tend to have much parallelism that can be exploited (as there is often feedback elements in their algorithms which mean they often have to be done sequentially rather than in parallel). Hence, such algorithms tend to be a poor fit; I would be surprised if we see current generations of GPUs being exploited for the wide range of DSP tasks like a UAD or Powercore are. Things like convolution (traditional, or of the type Nebula uses) are well suited, writing an efficient IIR filter is not. Will this change in future generations? Yeah maybe.
