Multithreading in 7 - Hardware (Specifically Processor)

Hi All,

I know 6 hasn’t been out all that long considering the usual release cycles, but got a hardware related question abut 7…

I basically use Rhino pretty much the entire time, and a fair bit of GH too (mainly do silverware/product/jewellery/public art on the complex stuff probably talking average file size of 2-10Gb, when doing what I can to lighten files, if that helps). It’s getting to the point where my old i7 7700 stopgap is crapping out on a pretty regular basis, so I’m looking at new hardware, but given the spend, I want it to last realistically at least 2 or 3 years without being hopelessly out of date. I know historically, other than with rendering, multithreading hasn’t gone all that far in Rhino, though the new GH multithreaded components are great.

I’m basically at the stage of looking at processors and cost-benefit wise the new AMD stuff is looking surprisingly good, but not too hot (no pun intended) when it comes to single core intensive use, which, thus far, means I’m looking at paying a bunch more for Intel. That’s the context.

My basic question is, is building in multithreading on more commands, particularly outside of GH, likely to be much of a focus for 7, or is it likely to be similar to 6 or with a slight incremental improvement? If it’s going to be a big focus I’d look at AMD, whereas if we’re talking pretty similar to 6, I’ll stick with Intel. Having said that, if anyone knows a reason I should definitely go one way or the other that’s not necessarily to do with multithreading I’d appreciate knowing that too.

On a side note for graphics I’ll probably go GeForce (I know Quadro are supposed to be better and all that but I’ve always found them less stable in Rhino), but if anyone knows better I’m all ears. Also planning on just sticking as much RAM in there as possible with whatever’s the best spec the mobo can handle. My logic is to get the most suitable processor, then RAM, then graphics as subsidiary concerns.

If anyone can offer advice it’d be much appreciated as I’m likely to be stuck with whatever I get for a while!

All the best!

Rupert

Multi or single threaded, 3700X is roughly on par with the 9900K and the 3900X is just slightly better in single threaded and way ahead in multithreaded. Just read any of the many reviews and you can see it for yourself. the new AMD processors are also better in performance/watt and performance/dollar.

Just read the reviews.

It seems like everyone here thinks the more RAM the better. That’s not always true. It depends on the type of projects you work on. If your models are architecture, interiors, or generally big, complex and / or have lots of parts then more RAM is better. But if you are a product designer and work on single objects / one part at a time, then you will probably never really need more that 16GB. I had 32GB in my previous build but never ever even came close to utilizing only half of it. Now I have 16GB.

Of course if you use insane mesh settings, you can use up crazy amounts of RAM, but then I would suggest to find out more about using mesh settings in a more reasonable way.

You write your average file size is 2-10GB “Gigabyte”?! Well, if that is indeed the case, you really should go for MORE RAM.
Also make sure you buy fast RAM (clocks and timings). it benefits intels as well as amds processors (though amds profit a bit more). 3600Mhz is the sweetspot for the new ryzen 3000 CPUs.

Here is a review that focuses on workstation performance. should help you more than most other reviews that focuse more on gaming performance:

I hope that helps you make a decision.

Hi hitenter,

That’s great, thanks!

A very thorough answer, much appreciated! Indeed the files are a bit ridiculous in size but it’s unfortunately the way it has to be, as, either with meshes or polysurfaces, and usually a mix of the two, I’m dealing with parts that mostly I’ll be printing and casting to make the pieces (normally a few hundred per piece), with detail down to jewellery level (10-30 microns becomes noticable, certainly anything over 50 is obvious when it’s a discrepancy), but on objects that will be a few metres across, so even using placeholder geometry where I can it’s still a struggle to keep the files under 5GB, and obviously that gets a little laggy even with very low mesh settings.

Cheers for the tip on the RAM frequency too!

It’s looking like I may be going back to AMD!

Thanks!

Rupert

Interesting what stuff people do with rhino. Yes you really do need a lot of ram.

Also, you don’t need to buy one of the new motherboards with the X570 chipset, they are overkill and due to the implementation of PCIe 4.0 (and other reasons) they are very expensive. You don’t benefit from that. A decen motherboard with X470 chipset is fine. Don’t take one with the B450 chipset, they all have crappy VRMs. Don’t take Asrock or MSI, there is a reason why they are cheaper. I suggest the “ASUS Prime X470-Pro” it has good VRMs with enough phases (6 real phases, no doublers), perfect to handle even the high end Ryzen 3000 CPUs. But you should wait just a week or two before you buy such a board. The manufacturers just have gotten the latest AGESA updates for the B450 and X470 chipsets, so they’ll need some days before they bring their UEFIs up to date. The latest UEFI versions as of now only bring basic support for the 3000 series.

Meanwhile you can start another thread and ask for advice regarding the GPU :slight_smile:
If you use cycles or vray you might consider an RTX card instead of a quadro card.

:astonished:

I can hardly imagine that you are still able to navigate properly in your file with these sizes. And that is with use of linked blocks? Or can’t you use blocks?

Even a new high end system will be challenged by those huge files. Should also go with an NVMe SSD for the M.2 slot. One with DRAM chache and at least 1TB storage size. The ones with more capacity have more NAND chips so the controller can write/read more in parallel. That’s why bigger is also often faster regarding SSDs. Or lets put it the other way: modern SSDs with capactiy below 512GB often have significantly lower read/write performance than the same model with just higher capacity (simplified).

Hi guys,

Thanks hitenter for the further advice, that’s great, I’ll definitely bear that in mind and look to a larger SSD and an ASUS x470 mobo.

Gijs yes, I use blocks where I can but unfortunately the majority of the geometry is unique per part, so I can only make fairly limited use of them, and yeah, navigating the models is fun, particularly when dealing with fine detail in and amongst stuff. I tend to be pretty granular in terms of putting specific geometry into layers and many tiers of sublayers so I can always only have the minimum I need displaying at any given time, and I can use the layers as a reference for selecting specific parts and then zooming to selected. That also tends to make it easier in GH, so I can use geom pipeline rather than having to manually select things, though that does get a bit annoying when trying to keep things like point collections ordered nicely for a definition.

Thanks guys for all your advice, massively appreciated!

Rup

What are your file saving times?

Hi Rupert,

Building in multi-threading into commands is not a focus area of Rhino 7.
-wim

Hi Jakub,

It varies quite a lot, but enough for a tea break! I’d say in the region of a few mins up to a few tens of mins.

1 Like

Hi Wim,

Thanks ! I’ll concentrate on single thread performance then!

Cheers!

Rupert

You’ll really be happy about a new NVMe SSD.
Samsung 970 Evo Plus or 970 Pro are good for example. ADATA XPG SX8200 Pro is nice as well and has a really good price. All available with up to 2TB.
Always use the Motherboards’ top M.2 slot, that is the one wired directly to the CPU, not routed through the chipset. This applies to intel and amd boards.

Wouldn’t it then be much better to attach everything to a file (linked blocks)?

Hi hitenter,

Thanks! I’ll give them a look, and cheers for the slot advice too!

All the best.

Rup

Hi Gijs,

With what I’m doing I normally have to edit the different parts in situ e.g. so they connect properly, extending or shortening a part (changing srfs rather than just scaling), or adding a different connection…etc. I thought with linked blocks that you can only make actual geometry edits in the file the block is in, rather than the composite file? If that’s not the case and there’s a way you can edit geometry in the main file and it populates back into the block files that’s awesome, and I’ll definitely be using that! I’ll have more of a look into blocks thanks!

you’re right that this is not possible. You can edit the linked block but it will open in another Rhino session.
I think in your case worksession might help you out better, so you activate a file (part) that you need to work in and keep the rest visible as reference. I don’t use worksessions myself because I don’t need it, but it can be a powerful tool.

Hi Gijs,

I’ve not used worksessions before but sounds like it could indeed be really useful so I’ll have a look thanks!

Depending on how you do this -from your description I understood you have to make a mold tree with a lot of different designs- I can imagine that you can make some simplified proxy objects for every one of them and only have the one that you are working on detailed. Then when moving to the next object, you replace the detailed item with the proxy again. Then at the very end you replace all proxy objects with the real objects.
If you name the real and proxy objects in a consistent manner a lot of the work can be scripted.