Multiprocessor Support (Standalone) Issue

David N
David N Member Posts: 8 Member

Hi,

The Multiprocessor Support funtion is not working on my system. Irrespective of which option I try (and I've tried them all from "off" to "12 cores") Kontakt (in standalone mode) always uses just one core to the point that it reaches 100%. This has been happening with all versions of Kontakt 7 (I'm currently using version 7.9.0).

As an example, when using Pharlight I reliably see the load on one core increase as I add voices until it reaches 100% (see screenshot below; each key press corresponds to one of the red horizontal lines; the core reaches 100% with just 4 keys pressed). When this happens I get severe audio distortion. The core that reaches 100% is not always the same so the problem cannot be solved by excluding a core via Windows' Processor Affinity setting.

The behavior happens with all Kontakt libraries, but to varying degrees based on how CPU intensive the library is. It also happens whether I load one library or several.

The same thing happens with the VST3 plugin in Cubase Pro (versions 11, 12 and 13). And, yes, I know that we should disable Multiprocessor Support in our DAW so that it can manage core loading.

I'm running Windows 10 Pro on a 6-core laptop with 64GB of RAM and an RME UCX audio interface. All my software/drivers are up to date. This problem happens with Hyperthreading on and off (i.e., with 6 physical cores / 6 logical cores as well as with 6 physical cores / 12 logical cores).

Is this a known issue? If so, is there a fix in the works?

Cheers…

Comments

  • Simchris
    Simchris Member Posts: 325 Pro

    on one of our pcs we went into bios and disabled multithreading on intel cpu so each core populated as single processor….may vary by motherboard but might be worth a try

  • David N
    David N Member Posts: 8 Member

    Thanks for the suggestion.

    Just curious, did you disable multithreading to address the issue I described, or to fix a different problem?

  • Simchris
    Simchris Member Posts: 325 Pro

    Hi, we did it to address weirdness with various plugins populating the 8 cores in very weird ways. Almost like it was overloading the first thread of the first core, vs actually using the whole core. Like a mismatch in how Windows and Intel implement signalling to the "multithreading" — in audio that doesn't seem to be a benefit. Meaning, if you are only populating one core, make it the whole core, vs breaking it into bits pretending it's two cores. This way if something goes to two cores, it goes to two whole cores vs two half cores. Seems dumb, but it solved bunch of issues with various plugins. Keep in mind this was 16 months back, so …. remember the fix, but not all the small details. Simple to do to test. Won't break anything. Just changes the behavior of how the real cores vs fake cores spread things out. Seem to recall solved an issue with Kontakt, with Cantabile vst host, the UHE stuff and the Arturia stuff.

  • David N
    David N Member Posts: 8 Member

    Thank you very much for your detailed replied.

    I looked in my BIOS and did not see a setting for "multithreading". I am however aware of Intel's Hyperthreading feature which may be what you're referring to. That feature allows you to configure a physical core as two logical cores for the purpose of increasing CPU utilization via multithreading (such that one physical core can execute a second instruction if an initial instruction was completed and left that core temporarily idle).

    I have compared Cubase performance with Hyperthreading on and off, and running with it on gave significantly better performance overall.

    Is Hyperthreading what you disabled? Or does your BIOS have another setting called "multithreading" that's different from "Hyperthreading"?

  • Kubrak
    Kubrak Member Posts: 3,009 Expert

    I guess Simchris meant hyperthreading…..

  • Simchris
    Simchris Member Posts: 325 Pro

    heh…. yeah the intel brand name is hyperthreading … tomato potato :) I'm an old dude so I call it what it is (Simultaneous multithreading), not the branding … but yeah. Old trick for us ancient folk in computing :)

    here is a cubase/steinberg 'thread' (PUN!!) on the topic as just one of many examples online:

    https://helpcenter.steinberg.de/hc/en-us/articles/206625630-Hyperthreading-Simultaneous-Multithreading-and-ASIO-Guard

    Simultaneous multithreading (SMT) or as Intel calls it "Hyperthreading" has been introduced back in 2002 with Intel's Xeon and Pentium 4 processors. Many of today's Intel-based systems on both Windows and Mac OS X utilize Hyperthreading to increase performance by a more efficient usage of CPU resources. AMD has also implemented this feature in their current "Zen" processor generation (Ryzen, Epyc). Details on simultaneous multithreading can be found in this Wikipedia article.

    However, in the past we have found that having simultaneous multithreading enabled can lead to performance issues and spikes in the VST performance meter. At very low latencies, even audio dropouts may occur. The reason for this is that other SMT processes on the same physical CPU might interfere with real-time audio threads on which our software, unlike many other applications, is highly dependent.

    We usually recommended to turn off simultaneous multithreading ("Hyperthreading") whenever performance issues occur. If applicable, this recommendation is still valid for sequencer versions older than Cubase 7 or Nuendo 6 (most Windows systems offer this option in the BIOS or UEFI setup, whereas "Hyperthreading" cannot be disabled under Mac OS X).

    ###

  • Simchris
    Simchris Member Posts: 325 Pro

    There should be setting in your motherboard BIOS under the CPU settings (might be on an 'advanced tab') to disable hyperthreading.

  • David N
    David N Member Posts: 8 Member

    Okay, that's what I thought: multithreading = Hyperthreading. Thanks for clarifying.

    BTW, I'm an "old dude" too. Cheers…

Back To Top