Threads

Maximum number of threads (cores) used by the analysis.

Default is hardware-dependent, min 1, max 6 (Standard) or 32 (Pro).

 

Houdini will automatically limit the number of threads to the number of logical processors of your hardware. If your computer supports hyper-threading it is recommended not using more threads than physical cores, as the extra hyper-threads would usually degrade the performance of the engine. See the FAQ about hyper-threading.

 

The FAQ about computer responsiveness contains some tips about using the correct number of threads to improve the responsiveness of your computer while the engine is running.

 

 

Split Depth

When using multiple threads, the Split Depth parameter defines the minimum depth at which work will be split between cores.

Default 10, min 8, max 99.

 

This parameter can impact the speed of the engine (nodes per second) and can be fine-tuned to get the best performance out of your hardware. The default value 10 is tuned for Intel quad-core i5/i7 systems, but on other systems it may be advantageous to increase this to 12 or 14.

 

To see which Split Depth value is best for your system you can use Houdini's autotune command. Run Houdini in a command window (simply by double-clicking on the executable) and type autotune followed by Enter. This command will analyze 4 positions for 30 seconds and measure the average nodes/second for Split Depth values between 10 and 18. Use the value that produces the highest average node speed in your Houdini configuration.

You can set the hash size and number of threads before running the autotune command:

- to set the hash size to 512 MB, type setoption name hash value 512 (alternatively in Houdini 3, type hash=512)

- to set the number of threads to 3, type setoption name threads value 3 (alternatively in Houdini 3, type threads=3)

 

Here's an example autotune result on a Core i5-750 using 3 threads and 512 MB of hash memory:

 

Summary:
==========================================================
Split Depth 10, Position 1: 5843 kN/s, idle 8M/s
Split Depth 10, Position 2: 5834 kN/s, idle 10M/s
Split Depth 10, Position 3: 5832 kN/s, idle 9M/s
Split Depth 10, Position 4: 5964 kN/s, idle 10M/s
Split Depth 10 - Average speed: 5868 kN/s, idle 9M/s
==========================================================
Split Depth 12, Position 1: 5849 kN/s, idle 11M/s
Split Depth 12, Position 2: 5742 kN/s, idle 10M/s
Split Depth 12, Position 3: 5712 kN/s, idle 10M/s
Split Depth 12, Position 4: 5881 kN/s, idle 17M/s
Split Depth 12 - Average speed: 5796 kN/s, idle 12M/s
==========================================================
Split Depth 14, Position 1: 5855 kN/s, idle 15M/s
Split Depth 14, Position 2: 5783 kN/s, idle 13M/s
Split Depth 14, Position 3: 5669 kN/s, idle 20M/s
Split Depth 14, Position 4: 5689 kN/s, idle 19M/s
Split Depth 14 - Average speed: 5749 kN/s, idle 17M/s
==========================================================
Split Depth 16, Position 1: 5744 kN/s, idle 25M/s
Split Depth 16, Position 2: 5803 kN/s, idle 19M/s
Split Depth 16, Position 3: 5596 kN/s, idle 34M/s
Split Depth 16, Position 4: 5680 kN/s, idle 33M/s
Split Depth 16 - Average speed: 5705 kN/s, idle 28M/s
==========================================================
Split Depth 18, Position 1: 5721 kN/s, idle 44M/s
Split Depth 18, Position 2: 5781 kN/s, idle 29M/s
Split Depth 18, Position 3: 5521 kN/s, idle 50M/s
Split Depth 18, Position 4: 5546 kN/s, idle 59M/s
Split Depth 18 - Average speed: 5642 kN/s, idle 45M/s
==========================================================
Average CPU time per thread: 597.125 s
CPU-corrected average speed: 5780 kN/s
==========================================================

 

The highest average node speed of 5868 kN/s is obtained with the default Split Depth 10.