[chuck-users] Parallel Shreds

Stephen Sinclair radarsat1 at gmail.com
Wed Jan 28 12:11:11 EST 2009


On Tue, Jan 27, 2009 at 9:50 PM, Eric Hedekar <afterthebeep at gmail.com> wrote:
> Hi, I'm just curious as to how parallel chuck's processing actually is?
> I've read in the ICMC2003 paper that "ChucK is a concurrent language, which
> allows multiple independent paths of computation to be executed in
> parallel." That implies (to my ear anyway) that ChucK allows each shred to
> run on it's own processor core in a multi-core processor.  Is this the case,
> or is it merely an 'illusion of parallelism' whereby the parallel processing
> is merely a higher-level construct of shreds advancing time on their own
> accord in the VM?  Any info would be greatly appreciated.  Thanks.

It's parallel, but not concurrent.  Parallel is a semantic thing --
it's not an "illusion" though I guess you could call it that.  It
allows you to reason about audio processing routines that execute in
parallel in terms of ChucK's logical timeline.  However, they don't
run in separate operating system threads, which would be "concurrent".

If you really need to do such a thing, you could use OSC for
synchronization and run two instances of ChucK, but at the moment it
won't split things into different CPUs for you automatically.

Steve


More information about the chuck-users mailing list