From: Marco Costalba Date: Fri, 8 Jan 2010 11:51:11 +0000 (+0100) Subject: Optimal tune for 8 cores X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=6a6facc058e5f08ccd07815a6e619eb0d2451000 Optimal tune for 8 cores After deep tests Louis Zulli found on his OCTAL machine that best setup for an 8 core CPU is as following "Threads" = 8 "Minimum Split Depth" = 6 or 7 (mSD) "Maximum Number of Threads per Split Point" = not important (MNTpSP) Here are testing results: mSD7 (8 threads) vs mSD4 (8 threads): 291 - 120 - 589 mSD6 vs mSD7: 168 - 188 - 644 mSD6-MNTpSP5 vs mSD6-MNTpSP6: 172 - 172 - 656 SF-7threads vs SF-8threads: 179 - 204 - 617 Signed-off-by: Marco Costalba --- diff --git a/src/ucioption.cpp b/src/ucioption.cpp index 3ee823e5..9bcd960b 100644 --- a/src/ucioption.cpp +++ b/src/ucioption.cpp @@ -196,15 +196,14 @@ void init_uci_options() { load_defaults(options); - // Limit the default value of "Threads" to 7 even if we have 8 CPU cores. - // According to Ken Dail's tests, Glaurung plays much better with 7 than - // with 8 threads. This is weird, but it is probably difficult to find out - // why before I have a 8-core computer to experiment with myself. - assert(options.find("Threads") != options.end()); + // Set optimal value for parameter "Minimum Split Depth" + // according to number of available cores. assert(options.find("Minimum Split Depth") != options.end()); - options["Threads"].defaultValue = stringify(Min(cpu_count(), 7)); - options["Threads"].currentValue = stringify(Min(cpu_count(), 7)); + Option& msd = options["Minimum Split Depth"]; + + if (cpu_count() >= 8) + msd.defaultValue = msd.currentValue = stringify(7); }