On Tue, Jan 27, 2009 at 9:50 PM, Eric Hedekar
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