With so many cores available, why not include (add) a seond approach to it?
Say you have 16 cores, use 12 of them for regular SMP and 4 for a special search. I am currently experimenting with this (special) serach. On my quad I divide the available root moves over the 3 remaining cores and reward the best one.
Often you get some surprising results due to the A/B behavior where 1 or 2 of the other cores become a lot deeper and can pick up the best move much earlier. 2 examples, of course I am cherry picking.
[d] r1b1kb1r/1p1n1ppp/p2ppn2/6BB/2qNP3/2N5/PPP2PPP/R2Q1RK1 w kq -
Code: Select all
Core-1 00:00:15 13 0.36 h5e2 (2.006.884) all moves searched
Core-2 00:00:20 15 0.26 d4e6 (1.681.782)
Core-3 00:00:19 16 0.79 d4e6 (1.900.065)
Core-4 00:00:09 13 0.42 h5e2 (1.581.967)
[D]rnb1kb1r/1p3ppp/p5q1/4p3/3N4/4BB2/PPPQ1P1P/R3K2R w KQkq -
Code: Select all
Core-1 00:00:08 14 -0.10 d4b3 (2.179.111) all moves searched
Core-2 00:00:10 13 0.42 e1c1 (1.888.508)
Core-3 00:00:06 14 -0.23 d2c3 (1.848.833)
Core-4 00:00:05 14 -4.21 f3b7 (1.871.985)
The best move 1. 0-0-0 is found on core-2 at D=13 while the main search on core-1 is already at D=14 and missed 0-0-0. Another effect of the A/B.