On Thu, Mar 5, 2009 at 8:45 AM, Tim Blechmann <tim@xxxxxxxxxx> wrote:
the main problem when thinking about a multithreaded audio signal
processing is the implicit dependency tracking.
For the reason Josh stated, automatic dependency recognition is likely
to be impossible.
I had thought over lunch... what if we had an alternate "parallel
group" node type (more precisely, parallelizable group). The rule is
that any Synths put into this group must be completely independent of
each other, so they could be split out onto separate threads for the
OS to distribute among cores.
A typical polyphonic synth with effect might look like this:
(parallelizable group: All source synths here, which compute
independently)
|
|
V
Effect synth
All the parallel activity in the parallelizable group would have to
complete before giving control to the effect synth.
Not to say that this would be easy to implement, but it's an
architecture in keeping with what we already have in scsynth and it
would give the user a way to say that a certain set of synth nodes is
okay to parallelize while others are not.
hjh
--
James Harkins /// dewdrop world
jamshark70@xxxxxxxxxxxxxxxxx
http://www.dewdrop-world.net
"Come said the Muse,
Sing me a song no poet has yet chanted,
Sing me the universal." -- Whitman
_______________________________________________
sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-users/
search: https://listarc.bham.ac.uk/lists/sc-users/search/