Massive Parallel Computing for Digital Audio Creation?

Author
celloscratch
Max Output Level: -90 dBFS
  • Total Posts : 22
  • Joined: 2009/03/12 19:06:09
  • Location: Paradise
  • Status: offline
2009/03/12 19:21:16 (permalink)

Massive Parallel Computing for Digital Audio Creation?

NVIDIA is now offering a personal supercomputer utilizing GPUs in a desktop format. The GPU card itself is several grand, and requires that a unique subset of C++ be written to utilize it (CUDA), but can apparently smoke the toast out of massively repetitive computations. While these cards were originally intended for graphics processing, CUDA opens them up to be supplementary processors.

This leads me to my burning question/idea:

Are software synthesizer developers planning on making use of this processing power? Has anyone heard of any work being done on the subject? The opportunity of running unlimited software instruments and effects (to the tune of several thousand, if such a thing was ever desired) or new computationally intensive instrument modeling or effects never before possible is very inviting.

celloscratch
#1

20 Replies Related Threads

    jcschild
    Max Output Level: -41 dBFS
    • Total Posts : 3409
    • Joined: 2003/11/08 00:20:10
    • Location: Kentucky y'all
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/12 19:50:22 (permalink)
    dont read alot into that... the GPU is not all that and a bag of chips...
    UAD has been doing this for yrs
    several hundred would not be possible much less thousands besides samples are far far more memory dependant than CPU.

    there is a few (2-3) guys who have started doing Cuda enabling but all are beta. check the KVR forums.

    you can build your own cuda system its really nothing more than 1-4 280 cards on varied platforms.

    Scott
    ADK
    Home of the Kentucky Fried DAW!
    #2
    celloscratch
    Max Output Level: -90 dBFS
    • Total Posts : 22
    • Joined: 2009/03/12 19:06:09
    • Location: Paradise
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/12 20:24:15 (permalink)
    Interesting...

    They are reporting "up to 250 times faster than standard PCs", "960 cores", and "4 TeraFlops", and it comes with 16GB of dedicated memory.

    Are you sure we're talking about the same thing? I believe this is on quite a different level than the SHARC 21369.

    You might check out personal supercomputing for what I'm talking about.

    Also, where are the KVR forums? What does KVR stand for?

    celloscratch
    #3
    InstrEd
    Max Output Level: -65 dBFS
    • Total Posts : 1276
    • Joined: 2004/10/13 20:55:03
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/12 22:37:46 (permalink)
    AMD and ATI are also working on their version called Stream. Nice thing about AMD/ATI version is open source so more vendors are on board.
    Don't know where it will end up but it might help off load some math computations for DAW work. AMD'ls is doing that with some of the video decoding now. AMD chips can't keep up with Intels offering at the moment, but ATI is kicking some butt against Nvidia right now.

    kvraudio.com is the site that Scott was referring to. it can get a little heated in their, so be careful

    Ed
    #4
    jcschild
    Max Output Level: -41 dBFS
    • Total Posts : 3409
    • Joined: 2003/11/08 00:20:10
    • Location: Kentucky y'all
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/13 11:59:21 (permalink)
    Cello,
    yes well aware of the product its been out for a yr now or longer. you are buying into the marketing hype.

    again its nothing more than either an AMD system or an intel system with multiple video cards.
    and at the present completely useless for audio and mostly video.
    while alot of video stuff like Adobe CS4 has added Cuda support we are a long way from it being realistic to consider GPU processing which has been around for a dozen yrs now.

    its more designed for number crunching than use for media (past gaming)
    both AMD/ATI and nVidia have add in cards that can do this as well in fact ATI thats all they offer, while nVidia is selling complete systems.

    do a search on kvr for cuda.


    Scott
    ADK
    Home of the Kentucky Fried DAW!
    #5
    inmazevo
    Max Output Level: -42.5 dBFS
    • Total Posts : 3276
    • Joined: 2006/01/03 18:30:38
    • Location: Pacific Northwest
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/13 12:13:38 (permalink)
    So:
    nVidia - CUDA?
    ATI - Stream?
    Apple - OpenCL

    Fascinating turn of events. It'll be interesting to see who wins, and (more importantly to me) whether software has to be coded for one or another of them, or works with all of them. I would have to imagine, given the pedigree of the players involved, that the APIs will be quite different, and not compatible with each other. Hence, it'll slow the progress of the technology considerably.

    Sad too. Seems like something interesting.

    For example:
    Does CUDA only work with nVidea cards?
    Stream with ATI cards?
    OpenCL, I'm assuming, would work with either one (or neither), but I'm thinking it'll be Mac only.

    I'm wondering if this is already a technology behind the curve, though. I have 8 cores in my current machine. My next machine (3-4 years from now, hopefully) I suspect will have 16 or 32 cores.
    Other than the "supercomputing" modelers, I'm wondering what this is really going to offer me that I don't already have: plenty of computing power.

    We'll see. I'm definitely following with interest.

    - zevo
    post edited by inmazevo - 2009/03/13 12:20:33
    #6
    inmazevo
    Max Output Level: -42.5 dBFS
    • Total Posts : 3276
    • Joined: 2006/01/03 18:30:38
    • Location: Pacific Northwest
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/13 12:17:06 (permalink)
    Ahh.
    If wikipedia is correct. OpenCL is at the bottom of all of them.
    That's good news.

    http://en.wikipedia.org/wiki/OpenCL

    - zevo
    #7
    celloscratch
    Max Output Level: -90 dBFS
    • Total Posts : 22
    • Joined: 2009/03/12 19:06:09
    • Location: Paradise
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/13 12:42:58 (permalink)
    its more designed for number crunching than use for media (past gaming)


    *hem*

    Not to be rude here, jcs, but isn't number crunching a rather important part of software synthesizers and effects? I'm not talking about memory dominant programs like samplers. And it was you who said that running hundreds of instruments and effects would be impossible. Why? The supplemental processing cards you mentioned as already doing this type of thing are orders of "number crunching" behind a video card. Of course they aren't capable of what I'm talking about.

    And yes, I'm well aware that it's "just a video card." Are you aware of what video cards do?

    The point is all that number crunching could be used on things other than image rendering. And since C++ similar programming languages are already in place for this hardware, why shouldn't our CPU hungry audio instruments and effects begin making use of this hardware?

    For example, the reason massive additive synthesis is never done is because it would take way too much "number crunching." Can you imagine an instrument that would add dynamic patterns of harmonics in real time (up to 2000 waves for a 25 Hz note in 24 bit 96kHz, if my math is right) in a mere eleven clock cycles (again if my math is right) per sample?! Wow!! You could create real time, full spectrum harmonic morphing wave generators and run them in as much polyphony as you now run standard sign-lookup synths.

    And yes, I know it's not here yet. I'm just wondering when it's going to get here. The hardware is there and usable.

    celloscratch
    #8
    celloscratch
    Max Output Level: -90 dBFS
    • Total Posts : 22
    • Joined: 2009/03/12 19:06:09
    • Location: Paradise
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/13 14:11:10 (permalink)
    I'm wondering if this is already a technology behind the curve, though. I have 8 cores in my current machine. My next machine (3-4 years from now, hopefully) I suspect will have 16 or 32 cores.


    zevo,

    These cards are running 240 cores all at 1.3 GHz. The chips are simpler, but I believe that still puts them about 5 doubles ahead. So, assuming everybody keeps up their respective exponential growths, when CPUs hit 16 cores, GPUs should be hitting 480 cores, 32 cores for CPUs, and GPUs come in at 960 per chip.

    yowzies.

    celloscratch
    #9
    celloscratch
    Max Output Level: -90 dBFS
    • Total Posts : 22
    • Joined: 2009/03/12 19:06:09
    • Location: Paradise
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/13 14:35:59 (permalink)
    "Snow Leopard further extends support for modern hardware with Open Computing Language (OpenCL), which lets any application tap into the vast gigaflops of GPU computing power previously available only to graphics applications. OpenCL is based on the C programming language and has been proposed as an open standard."

    oh yes, "lets any application tap into the vast gigaflops of GPU computing power" sure gets my giggles up. I hear this is going to be native in Windows 7. At first, I thought MS putting out another OS was a little silly, but now I would think it's worth it just for this!

    celloscratch
    #10
    losguy
    Max Output Level: -20 dBFS
    • Total Posts : 5506
    • Joined: 2003/12/18 13:40:44
    • Location: The Great White North (MN, USA)
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/16 16:33:29 (permalink)
    In the past, GPU instruction architectures have been optimized for graphics operations: triangle/polygon definitions, coordinate transformations, geometric projections, colorspace mappings, and textures. Not all of those operations translated well into general-purpose computing. To make them work with any useful efficiency, the language compiler had to be "tweaked", and the writer had to know the code constructs that yielded the highest throughput. Often, what was needed to get done for the desired signal processing task would not fit that tortured computing model. The result is inefficiency, which translates into "not-all-that-the-theoretical-hype-would-make-you-think-is-possible."

    That said, perhaps the newer-generation GPU/chipsets are either more flexible, or more powerful, or both. Another possibility is that the new compilers can better translate language constructs into GPU primitives. As with all technology, anything's possible, but the devil's in the details.

    Psalm 30:12
    All pure waves converge at the Origin
    #11
    Roflcopter
    Max Output Level: -7.5 dBFS
    • Total Posts : 6767
    • Joined: 2007/04/27 19:10:06
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/16 18:24:07 (permalink)
    This was in the news a while back:

    http://arstechnica.com/old/content/2007/02/8810.ars

    interestingly, Intel is currently pulling the plug on AMD using x86 code:

    http://techreport.com/discussions.x/16585
    post edited by Roflcopter - 2009/03/16 18:30:34

    I'm a perfectionist, and perfect is a skinned knee.
    #12
    DaveClark
    Max Output Level: -71 dBFS
    • Total Posts : 956
    • Joined: 2006/10/21 17:02:58
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/17 16:28:31 (permalink)
    Hi all,

    Count me amongst the skeptics. Some concerns upon reading about this a couple of months ago:

    1) As others pointed out, only certain types of computations are amenable to parallelization. To be sure, some of these are important, but it isn't as though everything could be re-routed to the GPU.

    2) Normally the GPU is a write-only type of situation as far as computation goes: Here are some data, do the computation and draw something on the screen. Don't call me; I'll call you. With audio, you need to get the results back out. It seems to me at first glance that you might need a CPU or two just to handle the results.

    3) The software development kits (SDK's) are aimed at specific hardware, or so it appears to me and almost necessarily is the case. That isn't good. The first thing I would do is try to abstract all the stuff in any one SDK to protect myself.

    4) An important point for me, but probably not for others: Single-precision computations. Speaking generally, you cannot do serious numerical work with single precision. Even doubles can cause problems. Admittedly with audio, this if often OK (e.g. record, mix, "master").


    What I would like to see INSTEAD is an audio PU or APU. This device could be given world coordinates, boundaries, materials data, results from some Newtonian physics problem, then compute the sound from (say) a marble column collapsing as the result of being hit by a pickup truck travelling 90 mph being driven by a drunk farmer. This would include everything from the crunch of the pickup truck to the scattering of tiny pellets of marble.

    Now that would get my attention.

    Regards,
    Dave Clark

    #13
    Roflcopter
    Max Output Level: -7.5 dBFS
    • Total Posts : 6767
    • Joined: 2007/04/27 19:10:06
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/17 18:46:14 (permalink)
    This device could be given world coordinates, boundaries, materials data, results from some Newtonian physics problem, then compute the sound from (say) a marble column collapsing as the result of being hit by a pickup truck travelling 90 mph being driven by a drunk farmer. This would include everything from the crunch of the pickup truck to the scattering of tiny pellets of marble.


    Wouldn't that have the same problem as me dropping a coin on the floor in a very silent building? Or tossing it to the floor violently - even if I model the properties correctly, the result will be largely random.

    All it can do is postion stuff correctly maybe, and calculate correct soundlevels etc relatively - but it would never be an accurate or predictive model, since you could not run that truck into the pillar (assuming you could) again, and get the same results twice. The results would sound very convincing, but be totally unlike each other, if even the tiniest change is made in one of the initial positions. (Butterfly effect.)

    So it would sound impressive, but not add anything more 'real' in the sense of more accurate. You could not say why a good fake was fake, I think. Unless it was poorly done, or contain physical impossibilities. But it would not be better than existant top-class sound effects of today.

    I'm a perfectionist, and perfect is a skinned knee.
    #14
    DaveClark
    Max Output Level: -71 dBFS
    • Total Posts : 956
    • Joined: 2006/10/21 17:02:58
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/18 06:55:47 (permalink)
    Roflcopter

    ...even if I model the properties correctly, the result will be largely random.

    <snip>

    But it would not be better than existant top-class sound effects of today.


    Hi Roflcopter,

    I think you are misunderstanding the advantage of having this type of processor, and that's partially my fault.

    I don't mean to create the sound effect of *some* truck crashing into *some* column and all of the resulting sounds, but a *particular* situation, a particular problem such as may be presented in a video game in real time modelling when keys are hit in a particular manner to cause a very specific collision and its consequences to be modelled in detail. Does glass break? When? Do the tires go flat? How much noise does that make? Is there any skid? What kind of skid noise would there be? Is it raining? Do parts go flying? If so, where do they land and how much noise does that make?

    A GPU does the same thing for optics for a particular view of a situation, not just some generic view of that situation, so I thought that the intent was clear here. Sorry if it wasn't. With this type of processor, you could slightly change the angle of approach and probably get some completely different audio results, just as you can get completely different video results with a GPU with small changes. That's the whole idea, actually. Small changes can have large consequences on subsequent game play, the "butterfly effect" you mentioned, so you need to model them correctly. You don't necessarily want to accept some generic collision, although that might be fine for a sound effect in some song.

    Regards,
    Dave Clark

    #15
    Roflcopter
    Max Output Level: -7.5 dBFS
    • Total Posts : 6767
    • Joined: 2007/04/27 19:10:06
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/18 12:14:06 (permalink)
    I think that would be interesting for Virtual Realities, or next-Gen holodeck nature parks (for lack of real ones, ahem).

    In sound production for movies I think the fakes are probably considered more effective in blind tests, however inaccurate they may be. That was my point, only from a scientific viewpoint, or one where it's part of some Total Immersion deal, would this make sense - and I think you can also order quite a truckload of CPU power.

    The difference with visual virtualisation is that everything has to go somewhere, it doesn't peter out like sound. Guess that's probably why they like to do explosions where stuff evaporates well before you get to the 5th frame of the shot. One less problem to solve. Sound, with all its echo's and mixing of frequencies is probably a level of magnitude more work. Possibly even beyond today's capabilities, at least if you have a realistic budget.

    I'm a perfectionist, and perfect is a skinned knee.
    #16
    DaveClark
    Max Output Level: -71 dBFS
    • Total Posts : 956
    • Joined: 2006/10/21 17:02:58
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/18 19:33:39 (permalink)
    In sound production for movies I think the fakes are probably considered more effective in blind tests, however inaccurate they may be...


    Hi Roflcopter,

    I would not be surprised by this. The average listener's sense of hearing is --- well --- not overly developed so indeed they don't hear the difference. In Edison's day many folks claimed that they couldn't tell the difference between early wax cylinders, foil, or whatever was used for comparison, and the real thing. Perhaps Edison wasn't entirely forthcoming about these comparisons, but such results are not too terribly surprising. Personally I hate the current sound systems used in theatres. They are unbelievably unrealistic. Even stupidly unrealistic.

    My interest in an APU is that I just want to offload all my acoustical and physical modelling stuff onto someone else!

    Then, just like everybody else, I can simply draw a room, place objects in it, put physically modelled sound sources in there, insert a listener, feed the instruments some MIDI or other score, and presto! Just like the real thing, this time "Fer real, fer real." This stuff is by no means limited to virtual reality scenarios.

    On computation: There are lessons to be learned from the history of graphics where very pessimistic predictions were blown away by enterprising programmers. Something like Doom wasn't supposed to be possible on a mere PC of that time. Radiosity lighting was in the far, distant future. And so on.... Yes, there is a lot of computation, but there are techniques for cutting this all down by orders of magnitude. In my own experience, using Green's functions is a good example whereby one obtains a solution for one particular location for each of source and user (plus boundary and initial conditions) rather than using finite difference or finite element methods to solve for everything everywhere. For a concert hall, such an approach (albeit limited to geometries where the Green's function is known or easily calculated) the size of the problem is reduced from a "challenge problem" (US Gov lab term for "damn near impossible" for any existing architecture) to something you can do on a P4.

    Now to return to the normal station....

    Best regards,
    Dave Clark
    #17
    celloscratch
    Max Output Level: -90 dBFS
    • Total Posts : 22
    • Joined: 2009/03/12 19:06:09
    • Location: Paradise
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/18 20:19:02 (permalink)

    ORIGINAL: celloscratch

    Can you imagine an instrument that would add dynamic patterns of harmonics in real time (up to 2000 waves for a 25 Hz note in 24 bit 96kHz, if my math is right) in a mere eleven clock cycles (again if my math is right) per sample?!


    On thinking about this a little more, a patterned harmonic response could be multiplied iteratively (doubling every time) as long as it used a consistent decay to higher harmonic pattern sets, which is the case for a typical standing wave. This would require non-parallel processing and enable roughly a (pattern size + (doubles to 1/2 sampling rate x 3)) x (wavetable length) number of operations to produce the wavetable. And the wavetable would have to be complete before the first sample was sent back. A 6 harmonic pattern came out at 32 x wavetable length operations, which is around 1% of what the massive addition would have been (1999 x wavetable length, I believe). Once the wavetable is calculated, though, it can run as a simple lookup to the RAM. And it shouldn't take that long to calculate the first waveform.

    Meaning: I think I can make an efficient wavetable generator that would allow one to add dynamic patterns of harmonics in real time for the standard CPU. As a VSTi. I'm going to go try it.

    I think I'm posting this in the wrong forum.

    celloscratch
    #18
    Roflcopter
    Max Output Level: -7.5 dBFS
    • Total Posts : 6767
    • Joined: 2007/04/27 19:10:06
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/18 20:37:17 (permalink)

    Meaning: I think I can make an efficient wavetable generator that would allow one to add dynamic patterns of harmonics in real time for the standard CPU. As a VSTi. I'm going to go try it.


    Uh-oh. Think it will be raining Fredholm kernels from Banach space, any minute now. Best bring in the herd.

    I'm a perfectionist, and perfect is a skinned knee.
    #19
    Fog
    Max Output Level: 0 dBFS
    • Total Posts : 12302
    • Joined: 2008/02/27 21:53:35
    • Location: UK
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/18 22:00:03 (permalink)

    ORIGINAL: celloscratch

    Also, where are the KVR forums? What does KVR stand for?



    *long pause*


    NOTHING

    >

    What does KVR mean?

    Nothing, it once meant something but KVR wasn't supposed to be a success, take note boys and girls, always choose a good, sensible name for any new projects you start ;)

    ( off http://www.kvraudio.com/aboutkvr.php )
    #20
    celloscratch
    Max Output Level: -90 dBFS
    • Total Posts : 22
    • Joined: 2009/03/12 19:06:09
    • Location: Paradise
    • Status: offline
    RE: Massive Parallel Computing for Digital Audio Creation? 2009/03/19 11:52:44 (permalink)
    That's hilarious!!

    Best watch out for successes where you least expect them.

    celloscratch
    #21
    Jump to:
    © 2024 APG vNext Commercial Version 5.1