Maximum # of CPU cores and dual CPU config. in Rhino 8

Hello,

I would please like to know if there are any difficulties in Rhino 8 running on a dual CPU system and confirmation of my impression that in Rhino 8 there are no limitations as to how many CPU cores Rhino 8 can support per CPU and [given, no difficulty with] the total cores in a dual CPU PC.

For context that may be of help for helping me, the motive for this inquiry is to get insight / clarification for a Workstation set-up where the intent is to be running, in addition to Rhino 8, that favors a CPU with a higher clock speed, applications that favor multiple cores and threads. The conceptual idea with the dual CPU configuration is by using two CPUs with higher clock speeds / fewer cores when pooled the later applications will be helped and irrespective the clock speed is sufficient for running Rhino 8. “Sufficient” being defined as the modeler does not object to being at risk of some bottleneck occurring where [because] the base clock speed is on the middle - lower side and or perhaps some other apps are actively running [processing] concurrently as well. Implicit is that other hardware / the system bus are quite capable of managing the work load.

Thank you,

Andy

To do that today requires getting into enterprise-level platforms that are just exponentially more expensive and don’t offer generally the highest available clock speeds.

Hello Jim,

Right. I gorp what you are indicating. It is the price that needs to be paid if the goal is to run the collection of apps in use effectively on a the same machine and that needs to happen as it is the workstation’s workflow.

So a balance of the “heat” of clock speed and core number needs to be done and then make a compromise. The matter then, what are the parameters and choices one has to work out this compromise with. I do not want to configure a Workstation that Rhino 8 does not support or will dramatically decrease it’s performance.

Currently I am using a Xeon that has a base clock of 3.1 GHZ and 4 cores. It has a “boost” clock to in the 4 GHZ range. I just made a small array of 1000 polys and ran a BU on them. I took about 45 seconds to complete. The clock boosted to the 4 GHZ range, 100% CPU usage and I really could not tell if just one core was primarily used. There were a few apps running in the background. The 45 seconds is not a workflow bottleneck nor would a 4.5 minute one. Other work could be done just not in Rhino or having to do with use of a computer at all. That the Task Manager showed 100% CPU usage does not prohibit other work being done in another app- although perhaps slower. Understood that apparently Task Manager is not all that accurate, but for this example, I image good enough.

Well I hope that helps in explaining the situation.

Thank you,

Andy

Hmmm

Currently I am using a Xeon that has a base clock of 3.1 GHZ and 4 cores. It has a “boost” clock to in the 4 GHZ range.

Okay, I think you may be solving the wrong problem. By getting a dual CPU platform in the modern era, you are likely doing a massive overkill, depending on your work.

If I were to guess that your Xeon is a E3-1220 or such (or a few generations newer), nearly any CPU from the modern era will fly.

What you have to consider is that it isn’t always about clock speed, but also about throughput.

If you don’t need (by force of the company) to have a proffessional series CPU, then the following will feel miles and miles better, in order of preference:

  • AMD 7700X (8 Core, 16 Thread, cheaper) through 7950X (16 Core, 32 Threads, expensive)
  • AMD 9700X (8 Core, 16 Thread, cheaper) through 9950X (16 Core, 32 Threads, expensive)
  • Intel Ultra 7 Processor 265K (20 Cores, 20 Threads, cheaper) through ** 285K** (24 Cores, 24 Threads, expensive)
  • Intel 14600K (14 Cores, 20 Threads) through Intel 14900K (24 Cores, 32 Threads)

Unless you need AMD Epyc/Intel Xeon specific features, don’t bother with these server/workstation-class, as they will likely be a needless expense. But I don’t know your industry.

Secondly, more threads may not help your Rhino problems, as it is largely single-threaded. Really, what would be better for Rhino 8 (not responding) sometimes is one super-big 10 GHz core. But sadly, we are not there.

Regardless, your other apps will run much better on most modern 8+ Core CPUs.

If you really need even more threads (or more PCI-e lanes for various cards), then a workstation then may be better, In which case, you will want an AMD Threadripper 7000 series, likely starting from 32 Cores, 64 Thread (AMD 7970X); and very expensive.

1 Like

Hello David,

Thank you. A “textbook” example of how a false assumption is a start of a problem. The assumption being; that throughput can be considered equivalent within higher class CPUs. So l will be taking this into consideration henceforth.

I will look at the other CPUs you suggest.

To the extent that a Xeon CPU and ECC memory are more stable than others [I do not know of and any “gold standard” empiric comparison]. It does make seance that the ECC memory is a bit slower- and acceptable if the speed decrease helps with stability.

Take away so far some decrease in speed is wroth it given stability is enhanced / maintained.

The mix of a apps used now, and anticipated to be used are all “over the map” with the way they are programed [or need to be programed e.g. Rhino] that a multi-threaded / core CPU is needed.
Avoidance of a dual CPU system desired. The only motive to doing so would be [ if possible] to balance clock speed and core / tread number. i.e. you get the best you can from both “worlds”.

The archype system is stable, can run concurrently a number of compute intensive apps, requiring a diverse set of resources all actively processing, including heavy GPU use and also allow the operator to proceed with another task that may be computer mandate e.g email or incentive.

Well I truly hope this helps. Thank you for the constructive criticism / my thinking error / your fault fining.

Any more ? chime away.

Thank you,

Andy

Hi Andy.

I am glad you found the answer helpful.

Regarding your need for stability and ECC, I can only cover one of them. I know Xeon/EPYC CPUs are inherently considered more stable, but they are also downclocked(?).

However, for standard desktop AMD (Ryzen 7000/9000) and Intel (Raptor Lake, Arrow Lake), there are already following options:

  • Gaming type motherboards with ECC RAM support
  • Industrial “workstation” class motherboards, also with ECC support.

For example, Asrock explicitly states thier X670E Pro RS supports ECC. You can check the memory list (QVL) on a few motherboard manufacturer websites too.

Hi @litwinaa
Very few operations in Rhino are able to use a multi threading (although a few are), but I’m seeing no problems in running Rhino on my dual Intel Xeon rig. Our reason for going with a dual CPU setup was Keyshot, where multiple CPU’s/cores are an advantage (there are still a few areas in Keyshot where CPU rendering will result in more realistic results than GPU accelerated rendering, so we stick with CPU for the time being). Back to Rhino: It’s my experience that the really taxing tasks, like massive boolean operations, are still only single core. In the case of dual CPU’s Rhino will use a single core to the max on each CPU. Shown here is a boolean operation, and as you can see, only two cores (of 72, that is 2 CPU with 36 cores each) is running on 100%


One thing that is multi CPU/multi core is rendering with Cycles (as shown below) and I think that a few operations inside Grasshopper are also able to fully utilize all available cores on both CPU’s, but with any decent graphics card, I would never consider using Cycles for CPU rendering (and just turned it on to demonstrate that it works).
.
This is an elderly system (~5 years), and todays CPU’s would blow it out of the water. Depending on what other software you will be running, the advantages of a dual CPU system, especially when the price is considered, can be small. Most modern CPU’s are so fast, and the dual CPU systems so expensive, that you could probably buy yourself two super fast computers for the price of one decent dual CPU system. But again: If the other software you’ll be running requires/benefits from a dual setup, Rhino won’t hold you back - it works as well as on a single CPU setup; but Rhino itself benefits from fewer cores and higher clock speeds, as it will only fully use one core at a time for most of the time.
HTH, Jakob

Edit: Just for reference, here is a comparison between “my” CPU and a modern i9 :scream: A single i9 is faster than even 2 Xeon’s

1 Like

So a CPU with higher clock speeds would be good for some rhino operations, I’ve seen some intels go for 6ghz

Yep, that’s my understanding. Maybe someone more knowledgeable in terms of hardware can chime in? :grimacing:

I was also into this few days ago monitoring performance on some operations: high clock speeds and single core use and it seems to use the highest speeds available

Also, some of the never Intel CPU have 2 different types of cores; performance and efficiency (P and E cores), where the P cores are for hard work (Rhino, gaming etc.) and the E cores can handle all the background work that doesn’t require as much (I guess it’s eg. things like cloud syncing files, antivirus, online services etc.)

1 Like

I think I read somewhere that it is more reliable calculations this way with less errors if that makes sense but I think some here know this better how the insides work :slight_smile:

1 Like

I seem to recall one of the big brains explaining, that not a lot of Rhino operations lend themselves very well to parallel calculations - they are mainly linear. Imagine a boolean difference where you subtract 10 cylinders from a cube: You can’t subtract all 10 at once, as the result of one operation might interfere/affect the others, and therefore the calculations have to be done 1 at a time in sequence - and hence can’t be done in parallel.
-Jakob

2 Likes

In general yes. For Rhino, you would want a high-clock CPU, as I mentioned above.

However, that is a very fast and loose rule. For example, recent Intel i9s can of course go to 6 GHz (14900K(S)). However, these are massively power-hungry CPUs, and require high cooling. Not for single-thread operations, they would be fine.

But consider Arrow Lake*, where a massive improvement was made for throughput on the E cores, resulting in very impressive, more efficient throughout; which can be seen in Cinebench (and other) scores, for example. All of this at a lower maximum clock speed than Raptor Lake.

Arrow Lake is also quirky relatively speaking, as they are not multi-threaded CPUs. You get one core to one thread only.

*I wouldn’t use or recommend an Arrow Lake CPU, but they show very good performance metrics for many productivity tasks. Poorer for gaming. And they run cooler than Raptor Lake.

With a Threadripper, you would see incredibly fast CPU rendering, in exchange for overall lower single thread clock speeds. Probably higher latency(?).

What? No.

What is it then? You seem to know alot jim spill the beans Im just guessing here :smiley:

I’ll trade you one of my 3D models for info

What is even what you’re trying to confirm? Something about P-cores vs E cores?

More about the inner works you have some operations like blend edge using high clock speeds and single core usage according to the performance monitor

Is this how it works for most things in rhino? It helps to pick out a cpu in the future

I mean yeah, and it’s not just Rhino, ALL “content creation” tasks are mostly inherently linear. Some specific parts of certain tools are parallelized and probably more will be in the future, but for crying out loud people multi-cores has been a common thing this entire millennium, if it was easy to implement (and moreover make sure it’s actually faster) it would have been a decade ago.

But this discussion about how that impacts your CPU choice is a bit…well overthinking it by a factor of 100. It doesn’t matter if you can get a 4-core CPU with a few more Mhz than a 20, you’re still never going to notice that difference, and you need the 20 cores for the 75 Chrome tabs you have open while working and the extra PCI lanes that come with the higher-end CPU. It just means there’s no point in getting a dual Xeon rig for modeling.

There is no great secret to picking some perfect CPU that’s going to be massively better than any other half-decent modern CPU you can buy. So stop worrying about it, just wait as long as you can, spend as much as you can, don’t look back.