Re: [Jack-Devel] jconvolver and OSX
Le 28 févr. 2011 à 13:21, Paul Davis a écrit :
>>
>> How does A3 distribute processing task over multiple threads ?
>
> data flow graph, involving N threads, one of which functions as the
> master (but the precise thread may vary from process cycle to process
> cycle). the granularity is an Ardour "route" (basically a bus or a
> track). so if you have a 32 track session in which all tracks feed 1
> bus and there are no other connections, and you allow ardour to use 8
> threads, it will process 8 tracks at a time until they are all done,
> then one thread will process the bus, and on the next cycle this
> (last) thread will become the master for the next cycle. we wake
> threads with sem_post() and they sleep on sem_wait().
Using sem_open()/sem_post()/sem_wait() on OSX for Faust multi-threaded code (the Work Stealing Scheduler model explained last year at LAC). Works like a charm.
Stéphane
1298895979.19185_0.ltw:2,a <4A97D616-0825-46CC-AB7A-9EB91A4C0981 at grame dot fr>