Re: beowulf clusters
Istvan Varga <istvan_v-cl+VPiYnx/[email protected]> Wed, 20 Apr 2005 21:10:43 +0200
| Newsgroups | gmane.comp.audio.csound.tekno |
|---|---|
| Message-ID | <[email protected]> |
Michael Gogins wrote: > Not at this time. Csound is currently single-threaded in the rendering loop. > > In theory, it would be possible to change the rendering loop code just > slightly to make Csound multi-threaded. I believe this is possible because > inside the duration of a kperiod, running instrument instances do not write > to shared data except for the output buffer, and they do not read from shared > data that changes during the kperiod (ffitch and Varga et al., correct me if > I am wrong). I do not think this would work. Examples of shared data that can change during a k-period include, but are probably not limited to global variables (ga/gk), zak space, and function tables (there are table create and write opcodes). Also, the instrument instances are expected to be performed sequentially, in a well defined and documented order: the instrument with the lower number is performed earlier, and in the case of equal instrument number, the instance that was inserted first is performed first. Breaking this rule may break orchestras that use global variables or zak space to route signals between instruments. Nevertheless, many pieces would render correctly, particularly if the parallelization is limited to instances with the same instrument number, but probably all access to global variables, and use of zak and table opcodes would need mutexes. _______________________________________________ csoundtekno mailing list [email protected] Subscribe, unsubscribe, change mailing list options: http://plot.bek.no/mailman/listinfo/csoundtekno