Re: [Jack-Devel] jconvolver and OSX

PrevNext  Index
DateMon, 28 Feb 2011 13:25:54 +0100
From Stéphane Letz <[hidden] at grame dot fr>
ToPaul Davis <[hidden] at linuxaudiosystems dot com>
Cc[hidden] at lists dot jackaudio dot org
In-Reply-ToPaul Davis 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 
PrevNext  Index

1298895979.19185_0.ltw:2,a <4A97D616-0825-46CC-AB7A-9EB91A4C0981 at grame dot fr>