What's new

Kontakt multiprocessor support, preload buffer?

Nick Batzdorf

Moderator
Moderator
1. The default for Kontakt 5 is for multiprocessor support to be turned off. Am I right that this is so the host can handle that instead?

2. Should one override the instrument's preload size if one is using SSDs?
 
1. The default for Kontakt 5 is for multiprocessor support to be turned off. Am I right that this is so the host can handle that instead?

2. Should one override the instrument's preload size if one is using SSDs?


Depends on the host. If your host has multi-core support, then leave it off and let the host handle it. If your host does not, then enable it.

For example, Sonar has excellent multi-core support so I leave it off. Presonus Studio One has no multi-core support and even a half-way decent library would almost peg the cpu meter. Any decent library was unusable. Once I figured out that Studio One had no multi-core support, I enabled it in Kontakt and the usage dropped by a huge amount.

As for #2, you can drop it for SSD usage. I tried it and noticed no improvement to what I was already getting, but that's probably something dependant on your usage so you should try it and see.
 
Depends on the host. If your host has multi-core support, then leave it off and let the host handle it. If your host does not, then enable it.

For sure Logic and VE Pro have MP support! Thanks, that's what I thought.

As to #2, the only reason to do that would be memory usage. I'm not running into the limits of my 64GB (no matter how hard I try), so the question is academic anyway. What I really wanted to know is whether Kontakt knows you're using SSDs. The latest Play seems to, judging by its setting the buffer to the smallest - or maybe that's just a default.
 
You gotta think of it as, if the host isn't managing the multiple cores, then the app can. But you have the app trying to manage the cores AND your host trying to manage the cores for the same thing at the same time, well, the end result isn't gonna be pretty no matter how you slice it lol...
 
But you have the app trying to manage the cores AND your host trying to manage the cores for the same thing at the same time, well, the end result isn't gonna be pretty no matter how you slice it lol...
It's fine.

As far as I've been able to measure it, Kontakt's multithreading applies to parallel processing of voices. Multithreading in your DAW would be useful to parallelize FX across different tracks. The two work nicely in concert.

If you have a lot of Kontakt instances, you may not want to dial up the threads you allow Kontakt to use too much, just because the context switching overhead isn't worth spending. Although here I'm talking well over a hundred instances before it starts mattering (even on Windows whose thread overhead isn't all that it might be). 4 seems like a fair compromise to me. OTOH, if you tend to load up your Kontakts with multis and have fewer instances, then increasing the number to be close to your CPU's logical processor count would be reasonable.
 
It's a test it and see situation. I've had bad results in Sonar because sonar handles the multi-core, and good results in studio one because studio one doesn't. I've disabled it on purpose in Sonar because things went pear shaped when multi core was active in kontakt.

Try it and see what the results are first.
 
I've disabled it on purpose in Sonar because things went pear shaped when multi core was active in kontakt.
What sort of behavior did you observe?

The multithreading done by your DAW tackles different problems than the multithreading done by Kontakt. They parallelize different things. Indeed the DAW should be oblivious to Kontakt's use of threads. So it's an interesting puzzle that it should cause problems. One possibility is that the thread count was set too high in Kontakt and Sonar wasn't doing a good job prioritizing the audio thread. I'm just curious about the technicals.
 
Tack is right You can freely enable multiprocessing and not worry much. Kontakt will perform better, especially with heavy patches that would overload a core easily due to their voice count.

Coolio.

How many cores would you recommend enabling (12-core 3.46 GHz 5,1 Mac Pro, Logic)?
 
the one thing you should avoid is to enable all cores in the host and also in ANY plug-in. if you enable all cores in logic, put an instance of Kontakt on a single core. this might be different for another DAW.
the way Logic distributes load (in a situation where logic has all the cores) is based on the assumption that a single plug-in runs exclusively on one core.
 
There's a difference between distributing the CPU load of tracks and the way Kontakt does distribution of voices across the cores. Both can definitely work in concert, more often than not.
 
Following forum advices I once disabled Kontakt's multicore support, and I remember I had issues with a heavy library patch that I resolved by enabling that back. I kept it ON since.
 
Following forum advices I once disabled Kontakt's multicore support, and I remember I had issues with a heavy library patch that I resolved by enabling that back. I kept it ON since.

How many cores did you enable?

I have 12.
 
I was having CPU problems on heavy sessions then enabled half my available cores in multicore processing in Kontakt as ED suggested, and it’s been working great since. With my 6 core mac pro kontakt showed me 12 available cores, so I set it to 6.
 
Top Bottom