Confusion regarding CPU core limt

Per the Steinberg article below it seems that “…on systems built around a CPU with more than 14 logical cores*, processing threads exceeding this amount will be carried out as non-real-time (like UI-threads), introducing drop-outs and performance issues.”

The 14-core limit apparently comes from the fact that the “…number of real-time processing threads with Multimedia Class Scheduler Service (MMCSS) priority is limited to 32 per process - 4 of which are blocked by non-audio-threads already running.” Thus: 32 total - 4 blocked = 28 ‘free’. But the article mentions 14 logical cores. At first I read this as 14 physical cores (because 28/2=14).

So my first question is: where does 14 come from (and are we talking about logical or physical cores)?

And my second question is: after running mmcss-test.exe I was informed that the number of threads with MMCSS priority = 32. So, if I disable hyperthreading (to cut the number of logical cores by half), does this increase the 14 core limit to 28 (physical cores) in Cubase 10.5?

I know there’s some controversy about how well this issue has been addressed by Steinberg, but if you take Steinberg at their word, the article you are referring to is obsolete. It says, right at the top: “This article refers to Cubase versions prior to Cubase 10 only.”

So cubase does now fully utilise all multi cores ?

Exactly. Why should there be controversy? Why not just state, explicitly, how many cores are supported?

Since Steinberg will not provide this information – apparently it’ another mystery – can anyone aduce empirical evidence in this regard?

All cores have always been fully utilized in Cubase if you have 6 cores or less. The only issue was with more than 6 cores when using Windows 10. As of C10, that “>6 on Windows 10” limitation has been removed…if you have asio guard turned on. You should almost always have asio guard turned on anyway.

So if you run Cubase 10.5 on a Windows 10 machine with a 64-core AMD CPU, all of them will be fully utilized (with ASIO Guard enabled)?

I don’t have a 64 core AMD, so I can’t personally vouch for that, but yes, that is my understanding.

Trying to use 64 cores may not be worthwhile though. There are diminishing returns as you increase the processing thread count. And projects that can use that many threads are rare.

Good point. I’ll have to look at avaialable test results to identify the sweet spot in CPU count.

On my current system all six (physical) cores are being utilized roughly equally, so maybe it’s a number above that but below 64, as you say.

Cheers…

The issue is not one of balance. With increasing thread counts, the amount of cpu required to manage the threads increases. That’s why performance doesn’t scale very well with increasing numbers of cores.

P.S. There is no way with Cubase or the task manager to determine whether the load is balanced or not. You can only attempt to roughly infer it from other metrics.

Yes, we touched on this issue in a recent thread.

When I think of “balance” I think of the processing load distributed over the available physical CPU cores. But I suspect there may be more to it than just this…

Yeah, that’s not telling you what you think it’s telling you :slight_smile:. Other DAWs have performance meters that give you insight into the thread balancing.

So I’m confused about how multi cores work with cubase. I tested 10.5 on a fast 16 core Mac Pro 7,1 2019. The activity monitor showed only 250 % cpu so I assume that means only 2.5 cores are being used, yet cubase could not play back the project and the audio performance metre showed it was at maximum cpu

Disk was at zero.

Are all the cores not being used?

Why according to cubases audio performance metre was it maxed out and not playing back when it was only hitting a few cores of a 16 core machine.

Only 30 gigs of memory was being used of 48 gbs ram.

There were only 50 tracks. I caused the max out as a test, by using 6 Ozone 9s.

Not sure what’s going on ? Is the 16 core machine overkill then ? Do ozone 9s with only a few modules in each really max out cubase so easily ? How do I get better performance in such a fast machine ?

Yeah, no :slight_smile:. Your assumption about what the activity meter is telling you is incorrect. I wish I could say it’s a simple matter to get the most out of your cpu, but it requires careful signal path analysis to ensure proper parallelization of processing.