Multi-Core Scalability for Cubase 6

I am planning to buy Cubase 6 along with a new computer to run it. I plan to use many instances of various VSTs etc and would like to have the best setup possible within reason… however what computer will work best for Cubse 6 depends a lot on how the program was written. (i.e. how many processor cores steinberg had in mind/ optimized this program for)

I have heard that Cubase 5 would only scale well with up to 4 processor cores until the 5.5 upgrade came out… however the info on how many cores 5.5 (or 6) scales well to is something that I have been unable to find… my choices in computer type are as follows

  1. the new Sandy Bridge i7 4 core processor with unlocked multiplier for some moderate yet stable overclocking…
    from what I have read this is the best setup for a 4 core system since each core is more powerful than the previous “best” standard computer processor (the i7 980X extreme edition.) (but of course I’ll have to wait a little over a month or so for the fixed motherboard to come out (there was a recall)… this option probably has the best price/performance ratio but my goal is most probably the most performance I can get within my budget not necessarily a high price/performance ratio.

  2. the previous best processor the i7 980x (six cores) or its xeon equivalent in dual processor configuration (which would give me a total of 12 cores)
    I have looked at some benchmarks and the Sandy Bridge will beat this processor in many applications because very few programs are written to scale somewhat linearly on a system with over 4 cores… Depending on how Cubase 6 was programed my performance on this system would most probably either be a little worse (or much worse depending on how much the sandy bridge can be overclocked to… keeping in mind that the sandby bridge has been known to overclock to up to 5 GHZ on air and of couse the sandy bridge is around 300+ dollars while the I7 980x costs around 1,000) all the way up to 30-40 percent better for an I7 980x on a single processor setup if the program is written to scale to 6 cores very well… and if it can make use of 12 cores very well then I’d imagine the dual xeon equivalents will give even better performance…

  3. a quad socket motherboard running four 12 core AMD 6100 series magny-cours processors for a total of 48 cores
    In benchmarks a single 12 core Magny-Cours processor can beat a single I7980x, if again, the program scales well to 12 cores. Keeping in mind that each core of the Magny cours runs at only 2.2 ghz and each cycle of this processor gets less done than a single cycle on the i7 980x then you really need twice as many cores per processor UTILIZED WELL in order to actually beat the 980x in performance… so in other words:

if Cubase 6 can scale WELL up to 48 cores then four 12 core 2.2 ghz magny-cours processors would give me the best performance however if cubase 6 does better with something like 6 or 12 cores then
the I7 980x 3.3 GHZ (or 3.4 because one exists) would be my best bet assuming those 6 or 12 cores are UTILIZED WELL.
However, if Cubase 6 could only be said to truly utilize up to 4 cores WELL then the new sandy bridge 3.5 GHZ chip would be best.

In other words:
I7 Sandy bridge= the best 4 cores money can buy (within reason) only available in a single processor configuration as of now
(price a little over 300 dollars per CPU)

I7 990X (a touch faster than the 980x, same chip)= the best 6 cores money can buy (within reason) and scaleable up to a dual processor (12 core) configuration for it’s xeon equivalents.
(price, about 1,000 for the 990x or 980x and around 1500 dollars or so for each xeon equivalent chip, or 3,000 for both)

AMD 6100 series 12 core Magny-Cours= not the best 12 core configuration (dual 990x’s will beat it) but this is the only configuration within the “reasonable” server range that is scalable to so many cores. If and only if the program was written to use all 48 cores WELL will this setup beat a Dual 6 core xeon setup (of the 980x’s lineage)

So in other words, which computer setup I get depends entiredly on how Cubase 6 was programmed because depending on that my performance can be best with any of these three setups. Hopefully somebody can help me figure this out… I have heard that Cubase is supposed to distribute vst’s and channels somewhat evenly across all cores (which would make me think that it scales well to almost any number of cores because each channel or vst gets it’s own thread i’d imagine which would mean that Cubase is a endlessly multi-threaded application (and the more threads the more cores I can utilize). However, I thought that was supposed to be the case with even Cubase 5 (I remember hearing reports about that being the way this application worked with even Cubase 3) but even steinberg admits that there needed to be an update to Cubase 5 in order to get Cubase to scale well to anything over 4 cores. So what is our current situation with Cubase 6?

Regards

Excellently written…
An official statement of how many cores will be fully utilized is indeed a very good questions.

Im in a situation where i need to buy some new PC soon.
My plan was to wait for the sandy bridge based xeons cause i expect them to be top notch.
But waiting gets harder everyday…i dont know how much longer i can take it.
I thinking about a consumer sandy bridge as well…they are really a budget saver.
Currently Im running two xeon 5160`s.
I even thought abozut getting 2 x5680 xeons…used, on a good deal of course.
The waiting seems so long until q4 for sandy bridge xeons.
On the other hand…i plan to use this machine for 5 years…and i dont want to invest lots of money in “not-up-to-date” technology…

I was under the impression Cubase utilizes all cores. Read it on a gearslutz threat by the ADK Pro Audio PC manufactor guy - he usually seems to know about things.

BUT AN OFFICIAL STETMENT BY STEINBERG WOULD BE OF GREAT HELP. :question:

Greetings
Moodstarrr

Aloha,

I’ll try to find the thread again but I do recall reading one of the mods posts that said
that when it comes to DAW software, speed of the processor(s)
is more important than number of cores.

When I find the link I will post it. Maybe it will help.
{‘-’}

All you need to do is go to the Gearslutz “Logic Multicore Benchmark test” thread to see how wrong that statement would be. Of course speed counts, but if you look at the chart there, you can quickly observe the benefits of multiple cores AND proper hypertheading support (HINT, HINT, Steinberg!)

Cubase 6 Mac threads are a real ghost town these days, most likely because the above sentiments relate their lack of motivation towards making such enhancements possible on the mac platform. Mac users pay a good penny for their hardware and expect their software to utilize this power to the fullest. I really hope Steinberg is paying attention and considers dropping ASIO for the mac platform, if that is what is hampering performance gains.

Is there a definitive answer regards optimisation for 6core upwards?

I’m thinking of upgrading from quad i7 930 to a 6 i7core 980x. The benchmark CPU tests indicate double speed increase. I’m not sure, does that mean if I’m running at 40% note cubase performance meter then this gets halfed?

And what of the 6core upwards optimisation question?

Al

Hello,


6, 12 or more cores are not a problem. We have tested Cubase / Nuendo with systems that had more cores than somebody would build at the current time.

Cheers,

Chris

Thanks Chris. But what about my question regards performance?

Thanks
Al

Hello Al,

the ASIO performance meter is something totally different then the CPU performance and includes many factors like:

  • used plugins
  • routing
  • the buffersize
  • amount of Rewire, FX channels, groups
  • Control Room setup

The ASIO performance meter shows you how much calculating time is being used/left with the current buffersize, in order to send it without dropouts back to the audiohardware driver.

Going for example from a dual core to a quad core doen not mean you will get twice the speed/power.

Cheers,

Chris

I know I’m chiming in a bit late here but I’ve been frustrated by this same issue for some time now.

I’m currently using Cubase 6.0.5 (the newest release) on OS X 10.6.8. My computer has 8 cores (2.8 GHz each) and 10 GB ram. As far as plug-ins go, I tend to use several Fab Filter plugins for compression and limiting, Kontakt 4 player (for Stephen Slate drums), and several Guitar Rig 5 instances.

However, Cubase chokes and sputters on most of my projects. In addition to that, it tends to get very unstable unless I restart it in between each project I open.

From what I can tell- Cubase only seems to be hitting 2 of my CPUs most of the time, and nowhere near all of the RAM.

Same here - Cubase 6 is clicking and burping like there’s no tomorrow but only 50% ram and 15-20% of the cpu is used… How can we make it use more?

No it does not mean simply that.

More cores does increase the computing power of your computer as a whole (meaning you will see some performance gain in Cubase), but when it comes to a particular application, there are multiple things to consider. The system (BIOS, Windows, drivers, Cubase, HALion, all the other plug-ins, etc) is going to allocate and use cores based on various technologies. The way these technologies are made, implemented and used affect the system in a multitude of ways.

This, for example, is why some companies will ask you to disable this or that to enhance the environment for their product. This is true for any performance dependent application.

An example of how a snippet of code would be affected by a change in count of cores (apart from the simple increase of basic performance) is if it’s using the Microsoft .NET framework. It has support for programming code using parallel processing. This means that the code is now directly supporting it, but exactly HOW the system can and will execute it, is not explicit or set in stone.

If such a snippet of code is running and multpiple cores are available, performance is more limited by the number of cores (since CPU speed has a max). On the other hand, if there is just one core available, performance is directly limited by CPU speed.

Please keep in mind that such programmed code still needs to be synchronized with other code, so that a whole application can be presented. Synchronizing these pieces of code, in itself limits performance, since one code might finish first and will have to wait for another code before they can both continue.

So to end my blah blah… when asking whether an application is “optimized” for multiple cores, the answer can very easily be yes, and they would not be lying. But the simple truth is that so much more on a system affects the end result of that optimization, than “just” the number of cores.

As time goes by, even Microsoft will utilize more cores if available, which can affect an application in a potentially negative way. This may not be desirable for one that does not have any problems, but helps another that used to have problems. :slight_smile:

The world of computers used to be easy with one CPU and one program running… :wink:

I was wondering the same thing, I am a software developer, not in musical world but radiology…
I feel the very framework for “multi process” is not “load based” it’s task based.
so for example, if you have lots of cores, it’s better to run multiple instances of same SoftSynth than to run one using all 16 channels. because each, lower load, would perform better on it’s own thread , than one doing all that, on a single thread.

This is the answer that maybe can help me.
I’ve CUBASE 6.0.5 64Bit too with win7,
Phenom 8450 tricore 2,1
8GB DDR2 Memory
2 7200 hd and
TASCAM US-1800.
My problem is that when I open HSE at the fifth sound (in the same instance) vst performance meter is at 100% and, opening task manager, only one cpu is at 100%, with the others two sleeping quiet.
So the answer can be, to open one instance for every sound? No need of some particular pc setup?
Thanks

It’s not necessarily “the answer”, because it depends on how threads are utilized by an application. Try various ways of using a plugin and see which gives you the most out of your CPU’s.

Unfortunately I cannot help you with AMD, because I know nothing about their line of CPU’s. Does it have HyperThreading (or similar features) for example? If so, have you tried disabling/enabling it? There may be other AMD specific related settings that can be switch on/off, check forums and AMD documentation. Sorry that I can not provide any better help.


In terms of the comments above (CUBASE6_USER :slight_smile: about load “vs” threading for multicores, I believe that threading is good up to a point. The reason is because at some point a thread has to apply load in order to be a “useful” thread, rather than just add system administration. So saying which is better between a VST plugin with 16 channels (one thread) and 16 instances (16 threads, for arguments sake) of a single channel plugin can be difficult to determine. E.g., if a plugin were to share resources across instances, which from other viewpoints might seem beneficial, but from a threading point of view could be devastating, depending on implementation strategies.

One also has to remember that cores can work together to yield better load performance. This is why a two core CPU, for example, can yield better performance with a single threaded application, than a single core CPU.

Another fast approaching feature within an application is the ability to mark (or program) for parallell processing of code segments. By then distributing to much “manually” (for example making a plugin according to the 16 instances above) could be counter active towards the host application, since there are still only so many cores available.

I am not sure one can say whether one is better than the other, just like that, arbitrarily. I would rather say that it depends on individual setups. For example, Cubase could be better than Logic in terms of utilizing multiple cores in the main application, whereas Logic could be better at utilizing multiple cores when managing plugins. But still, each could be heavily dependent on how a user uses the application and the plugins, and what hardware one has to run them on.

In the long run, I believe applications in general will eventually run better and more stable, as more and more cores are pushed under the hood, single or multi threaded alike. Right now however, I think one has to be much more sensitive to ones setup.

Anyways, I just thought I’d waste another half a page of rambles! LOL

Some clarification is in order, when I say “thread” I mean engaging a different core, or “hardware thread” (I am talking about true parallel programming here, not spawning new threads on the same core, which is Hyper-Threading).
By load, I mean processing time, against frequency (CPU cycles) in other words, you are running out of CPU cycles, because on that core load have reached 100% utilization….
At this time, as per my understanding, C++ or other languages, can not automatically engage, other cores, based on high load on core 1. (unless windows scheduler is being utilized, not sure about MACs)
So better to launch multiple tasks and divide your work amongst them, not 16 perhaps 4, if you have 4 cores, try it or your money back LOL!

Shalu: one other point, I must make, is that slow HDDs are DAW performance killers, they take up CPU time and leave you hanging, I use Western Digital Caviar Black 1 TB(7200 RPM 64 MB) they are good. also if you have lots of RAM, make sure to turn off virtual memory. Because HS by design, streams sample data, and if your drive is busy in VR read writes you are pretty much done, when it try’s to read sample data. also set the HS slider all the way towards RAM.

Thanks CUBASE6, that’s right your thought about HDDs but yesterday I solved my problem setting my Tascam us-1800 latency.
As you know (you Tascam user too) there are 5 latency set-up, from “lowest” (as I had, with a 2.66 IN and 12.3 OUT) to highest.
Setting to high (7.3 IN 32.6 OUT) I can still play “decently” but now I can open just one instance of HSSE and charging all the 16 patches (or instruments) without the vst performance meter arrive to blinking red.
So now my last problem about traslation from XP to WIN7 it’s closed (maybe, never say never with computers…).
Finally I can concentrate on just one thing: the music (until the next issue :smiley: )

Grazie a tutti !!!
Ciao

The other problem is the OS kernel handles all the threads, so your cubses ‘performance’ depends on what other things the OS is doing (and in windows, this could be a lot).
Personally I think that steinberg should get their hands on a linux distribution and (put simply, for quite a big job) write a ‘Cubase’ OS that just runs cubase & vsts etc. (maybe embed a browser).
I’d be more than happy to boot into a OS that is just a really solid & fast cubase.
Drop windows! When I’m doing music, I’m doing music.
It may be a big task, but they’ll never have to worry about compatibility with the next version of windows!

I have downloaded Cubase elements demo.

I currently am using Logic as a real time FX rack for my analogue studio, (ie - taking 8 live inputs, processing, then outputting in real time)

Logic will only ever use 1 core.

I was told Cubase will however use however many cores are available.

Is this correct?

It’s really not that complicated, since “the system” (your computer and operating system) really handles all the details. As a software developer, in Micsosoft.NET for example, all you have to do anymore is simply put hints (in terms of parallel processing) in your code, so that when the code is executed, it will utilize up to 64 CPU’s, by default. This combined with multiple threads may seem complicated, but is really pretty natural and is becoming more or less built-in.

Now, if you were an software engineer at Microsoft or some other high profile platform, you would have to get them grey cells thinking deep about it. But as a application developer, there is a certain luxury layer that you want to take advantage of, though there is no sandbox to prevent you from complicating things, if that is your goal. :laughing: