Carrara and Dual Hex Core Xeon
petef
Posts: 47
Hi,
I've just come back to Carrara and was wondering how many threads it will see, I'm running it on a Dual Hex core Xeon 3.4ghz, 48gb ram, 12 Processors and 24 threads, when rendering only get 8 tiles, in Modo 601 I get all 24 threads.
Is Carrara maxed out at 8 threads or is this changeable. It is of course blisteringly fast but I thought still worth checking.
Thanks for your time.
Pete
Comments
I have two AMD 12-core CPUs. Carrara renders with 24 threads and I made no special configuration tweaks to do it (except for clicking the multi-threaded checkbox).
What I find a bit odd though is that it uses 3 sets of 8 threads rather than 2 sets of 12 threads.
Ah ha, Thanks Garstor that explains it, Im getting 3 rows of 8, odd way to do it as you say.
Just did a test render on Howies Country Lane with Just changing the Antialising to best
and both Object/Shadow Accuracy to 0.5pixels it took 19 mins, not bad me thinks.
Thanks
Pete
Wow... that IS blistering fast!!!
I built an 8 core w 16GB ram and I just love it! :)
Yeah, these sorts of things usually line up in a straightforward way. Here's my MSINFO32 output...based on this, you'd expect to see 6 sets of 2 processors.
System Type x64-based PC
Processor AMD Opteron(TM) Processor 6238, 2600 Mhz, 6 Core(s), 12 Logical Processor(s)
Processor AMD Opteron(TM) Processor 6238, 2600 Mhz, 6 Core(s), 12 Logical Processor(s)
I'd have to dig back through some of my C++ Windows API calls to figure out this oddity...and I have gotten very rusty with my coding skills of late...
Well...instead of writing the code myself...I can just turn to one of my personal heroes; Mark Russinovich.
SysInternals CoreInfo will use the Windows API function GetLogicalProcessorInformation to reveal what Windows thinks your CPU is all about...
Here is a tiny snippet of my output:
Logical to Physical Processor Map:
**---------------------- Physical Processor 0 (Hyperthreaded)
--**-------------------- Physical Processor 1 (Hyperthreaded)
----**------------------ Physical Processor 2 (Hyperthreaded)
------**---------------- Physical Processor 3 (Hyperthreaded)
--------**-------------- Physical Processor 4 (Hyperthreaded)
----------**------------ Physical Processor 5 (Hyperthreaded)
------------**---------- Physical Processor 6 (Hyperthreaded)
--------------**-------- Physical Processor 7 (Hyperthreaded)
----------------**------ Physical Processor 8 (Hyperthreaded)
------------------**---- Physical Processor 9 (Hyperthreaded)
--------------------**-- Physical Processor 10 (Hyperthreaded)
----------------------** Physical Processor 11 (Hyperthreaded)
Logical Processor to Socket Map:
************------------ Socket 0
------------************ Socket 1
Logical Processor to NUMA Node Map:
******------------------ NUMA Node 0
------******------------ NUMA Node 1
------------******------ NUMA Node 2
------------------****** NUMA Node 3
Yep, this confirms what I stated earlier; the logical to physical mappings would suggest 12 sets of 2 threads and the logical to socket mapping would suggest 2 sets of 12 threads. The NUMA nodes suggest that 4 sets of 6 threads would be ideal.
The catch is...how is Carrara written? Is it NUMA aware for example? Maybe the grouping by 8 threads that we see is a hold-over from earlier versions that hasn't kept up with modern multi-core boxes?
Maybe one day I will attach a debugger to Carrara just to see what I can find (not much I'd bet).
It would also speed up rendering if as one thread finishes its then able to jump to another
block, watching the render each of the 24 threads are locked to a square when one finishes
your simply waiting for the other threads to finish.
I hope the above makes sense.