Parallel Threaded Voices in Hise?
-
Is there any reason we couldn't have this in Hise?
I've been using the scriptnode synth system over the last month, and something bothering me is that it doesn't multithread the voices. This can lead to quite a crazy CPU buildup depending on the synth.I imagine the reason we don't have this in the voice system is to do with the flexibility of the system? Perhaps there are various reasons it wouldn't work.
So I'm asking just in case.Because I would like to parallelize my voices, yet since the Hise voice system is doing all the voice management work automatically, I'm not able to change how it works.
Is it finally time for me to Mod the Hise Source Code?
I feel like I've ended up pushing the limits of the c++ node feature more and more, maybe beyond what it was supposed to be able to do -
@griffinboy big nope. If your synth is able to max out a single core it won‘t work in a musical context anyway and you need to calculate the audio within the thread that the DAW provides to you so as soon as you try to spread the load across multiple threads you‘ll get all kinds of multithreading issues.
There are a few selected synths which try to do multithreading but this is a very niche feature and definitely doesn‘t sit right in a standardized framework like HISE.
-
@Christoph-Hart said in Parallel Threaded Voices in Hise?:
If your synth is able to max out a single core it won‘t work in a musical context anyway
Maybe I phrased it a little wrong, I'm talking about SIMD.
Many synths for example use SIMD for batching unison voices, or voices in general, or left right channels even, and processing them in parallel. This is common, no?I was talking about parallelism rather than just threading.