There is an excellent discussion of multi core processing (and why GP does not explicitly make use of it) under another topic.
I’d ask anyone reading this post to read the other post first.
Despite that discussion, I have an unanswered question. I can see why GP avoids the trouble of figuring out whether a rackspace can or cannot be divided into multiple threads. However, I can’t understand why multiple instances wouldn’t use separate threads and cores. Can anyone explain why that is difficult or undesirable?
This is an important topic to me, since I would like to use one PC as the audio source for up to 32 tracks of audio output, including four stereo synth channels, 8 drum channels, plugins for voices and guitars, tracks and clicks… all through a single USB connection to my mixer. I’m also trying to keep latency low. (128 or below, ideally.)
I am currently using an old PC (i7-3660, 16GB 1333 Ram, SSD) and I can quite easily overtax the system within the synth tracks alone. I still need to do some performance tweaking to see what the old (free!!) system is capable of… but even if I build myself a truly modern, powerful machine, I fear the processor may give up well before I do. It’s difficult to calculate how much of my scheme is possible without spending the cash up front.
So of course this is where multi threading comes in. Given that I will have entire instances with no interdependencies, would this not be an ideal use case for multi threading?
I’m also curious about this as I plan my CPU build. I assume the current GP topography would perform best on a top-end i7 or i9; but a multi-instance multithreaded version might run best on an AMD Ryzen Threadripper or similar. (Macs aren’t in the equation right now, although I do own and love Mac products.)
I’d love some advice on my build, as well as any comments on my multithreading question.