poly~ parallel processing - threadcount?
I'm trying to make a processor intensive patch run more efficiently by using a poly~ object to try and distribute (audio) processing across cores. I just wondered, how many threads can I expect? I have a MacBook Pro with an i7 processor. I know the processor is quad core, but the activity monitor shows 8 cores - I believe due to 'hyperthreading'. Can Max therefore manage 8 threads? @threadcount 4 or @threadcount 8? (I know without the attribute it's supposed to default to the maximum number, but it'd be good to know.
Ok, the more I look into this, the more confused I get. The number of threads seems to have no correlation to the number of cores, so I really don't know what the optimum value would be. The figures also vary quite a lot between Max 6 and Max 7 (I've been using version 6 as it seems to cope with the complex patch a little better - perhaps this is why?).
The figures are taken from the MacOS Activity Monitor. Max 6 seems to have a 'resting' rate of around 10 threads and Max 7 of around 40 (both vary a little). My poly~ does indeed seem to add threads as expected - so 'threadcount 1' (I've realised it's not an attribute now..) shows 11/41 threads in the activity monitor, 'threadcount 4' 14/44, 'threadcount 8' 18/48 and so on. I'm finding that there doesn't seem to be an upper limit though, and that higher threadcount messages (I've tried up to around 20) will give the expected values in the activity monitor. My poly~ object has 8 instances, so I guess I'd think that 'threadcount 8' is the way to go, but seeing as this is obviously more complex than I'd realised I'm not sure.
These thread numbers are all still relatively low btw - looking at Pro Tools, which I'm running at the same time (yes, probably another reason for my issues); that's running 120-odd threads.
Any guidance on these murky waters would be very helpful!
Does anyone have any knowledge on this? Or could point me in the right direction? I have tried reasonably hard to dig - there are a fair few threads on this but they mostly seem quite old (Max 5/6 era) and I suspect it's something that's changed with Max 7 and/or newer machines. I'm feeling a bit in the dark..
Set up threadcount to 0