bob wrote:
I'm not particularly a fan of using Elo to predict widening, then widening to predict Elo. Somewhat circular. Your time to depth is similar to what I do except that I generally use more sample runs for more cores since the variance is pretty significant at times.
For the "widening" I would be tempted to actually compare node counts to see how much larger the tree actually gets, as opposed to just measuring the Elo gain.
Right now, numbers (nodes, time, etc) are most helpful to the discussion since they can be used to derive a mathematical model that explains what is going on. If I could run Komodo on our cluster, I'd be generating enough data to analyze this to great precision...
BTW, this "Elo" measurement still leaves a lot to be desired. It is only measuring the Elo gain produced by looking at extra stuff. But it doesn't address the Elo loss that extra stuff costs in terms of time. That skews this Elo measurement significantly. In your tests, does EVERY 4 cpu move to fixed depth take less time than the equivalent single-cpu move? If not this really has a problem.
I express the gain in [(time 1CPU)/(rime 4 CPU)] to the same _strength_. The time_to depth_ i.e. [(time 1CPU)/(time 4CPU)] to the same _depth_ is pretty straightforward to do for an engine in an hour or two. What remains is the Elo deviation at the same _depth_, and I gather _time_ handicap to equal the strength from this Elo deviation. It has to be measured directly, as Elo difference at the same depth, then I infer the time handicap from 2^(N/100) approximate formula.
If you want to see the nodes to the same depth, I already posted in an another thread some results, but you seemed not very interested. Here it is:
Komodo 5.1 1thread:
Code: Select all
1 thread
n/s: 1.329.027
TotTime: 71:30m SolTime: 71:30m
Ply: 0 Positions: 30 Avg Nodes: 0 Branching = 0.00
Ply: 1 Positions: 30 Avg Nodes: 208 Branching = 0.00
Ply: 2 Positions: 30 Avg Nodes: 475 Branching = 2.28
Ply: 3 Positions: 30 Avg Nodes: 1162 Branching = 2.45
Ply: 4 Positions: 30 Avg Nodes: 2369 Branching = 2.04
Ply: 5 Positions: 30 Avg Nodes: 4022 Branching = 1.70
Ply: 6 Positions: 30 Avg Nodes: 7420 Branching = 1.84
Ply: 7 Positions: 30 Avg Nodes: 15120 Branching = 2.04
Ply: 8 Positions: 30 Avg Nodes: 31341 Branching = 2.07
Ply: 9 Positions: 30 Avg Nodes: 65919 Branching = 2.10
Ply:10 Positions: 30 Avg Nodes: 138817 Branching = 2.11
Ply:11 Positions: 30 Avg Nodes: 249815 Branching = 1.80
Ply:12 Positions: 30 Avg Nodes: 486700 Branching = 1.95
Ply:13 Positions: 30 Avg Nodes: 1025584 Branching = 2.11
Ply:14 Positions: 30 Avg Nodes: 1761740 Branching = 1.72
Ply:15 Positions: 30 Avg Nodes: 3037256 Branching = 1.72
Ply:16 Positions: 30 Avg Nodes: 5514478 Branching = 1.82
Ply:17 Positions: 30 Avg Nodes: 9323714 Branching = 1.69
Ply:18 Positions: 30 Avg Nodes:18533095 Branching = 1.99
Ply:19 Positions: 30 Avg Nodes:33487106 Branching = 1.81
Ply:20 Positions: 30 Avg Nodes:53449385 Branching = 1.60
Ply:21 Positions: 30 Avg Nodes:94696000 Branching = 1.77
Engine: Komodo 5.1 64-bit (512 MB)
by Don Dailey, Larry Kaufman
Komodo 5.1 4 threads:
Code: Select all
4 threads
n/s: 4.426.797
TotTime: 51:18m SolTime: 51:18m
Ply: 0 Positions: 30 Avg Nodes: 0 Branching = 0.00
Ply: 1 Positions: 30 Avg Nodes: 658 Branching = 0.00
Ply: 2 Positions: 30 Avg Nodes: 1454 Branching = 2.21
Ply: 3 Positions: 30 Avg Nodes: 3023 Branching = 2.08
Ply: 4 Positions: 30 Avg Nodes: 5522 Branching = 1.83
Ply: 5 Positions: 30 Avg Nodes: 10040 Branching = 1.82
Ply: 6 Positions: 30 Avg Nodes: 19588 Branching = 1.95
Ply: 7 Positions: 30 Avg Nodes: 37536 Branching = 1.92
Ply: 8 Positions: 30 Avg Nodes: 70835 Branching = 1.89
Ply: 9 Positions: 30 Avg Nodes: 150130 Branching = 2.12
Ply:10 Positions: 30 Avg Nodes: 308354 Branching = 2.05
Ply:11 Positions: 30 Avg Nodes: 569434 Branching = 1.85
Ply:12 Positions: 30 Avg Nodes: 1048122 Branching = 1.84
Ply:13 Positions: 30 Avg Nodes: 2170028 Branching = 2.07
Ply:14 Positions: 30 Avg Nodes: 3712354 Branching = 1.71
Ply:15 Positions: 30 Avg Nodes: 6877139 Branching = 1.85
Ply:16 Positions: 30 Avg Nodes:13106835 Branching = 1.91
Ply:17 Positions: 30 Avg Nodes:23709744 Branching = 1.81
Ply:18 Positions: 30 Avg Nodes:39712826 Branching = 1.67
Ply:19 Positions: 30 Avg Nodes:65730096 Branching = 1.66
Ply:20 Positions: 30 Avg Nodes:118838030 Branching = 1.81
Ply:21 Positions: 30 Avg Nodes:207054782 Branching = 1.74
Engine: Komodo 5.1 64-bit (512 MB)
by Don Dailey, Larry Kaufman
Komodo searches to the depth 21 2.19 more nodes to the same depth 1->4 cores. If overhead 1->4 cores is 20%, then Komodo searches ~1.8 more nodes compared to non-widening engines. Compare that to Houdini:
Houdini 3 1 thread:
Code: Select all
1 thread
n/s: 2.439.155
TotTime: 76:12m SolTime: 76:12m
Ply: 0 Positions: 30 Avg Nodes: 0 Branching = 0.00
Ply: 4 Positions: 30 Avg Nodes: 3039 Branching = 0.00
Ply: 5 Positions: 30 Avg Nodes: 4795 Branching = 1.58
Ply: 6 Positions: 30 Avg Nodes: 7922 Branching = 1.65
Ply: 7 Positions: 30 Avg Nodes: 12506 Branching = 1.58
Ply: 8 Positions: 30 Avg Nodes: 24685 Branching = 1.97
Ply: 9 Positions: 30 Avg Nodes: 59627 Branching = 2.42
Ply:10 Positions: 30 Avg Nodes: 124644 Branching = 2.09
Ply:11 Positions: 30 Avg Nodes: 234924 Branching = 1.88
Ply:12 Positions: 30 Avg Nodes: 546004 Branching = 2.32
Ply:13 Positions: 30 Avg Nodes: 1018643 Branching = 1.87
Ply:14 Positions: 30 Avg Nodes: 2079456 Branching = 2.04
Ply:15 Positions: 30 Avg Nodes: 4242175 Branching = 2.04
Ply:16 Positions: 30 Avg Nodes: 7301397 Branching = 1.72
Ply:17 Positions: 30 Avg Nodes:12755277 Branching = 1.75
Ply:18 Positions: 30 Avg Nodes:23244203 Branching = 1.82
Ply:19 Positions: 31 Avg Nodes:62940490 Branching = 2.71
Ply:20 Positions: 31 Avg Nodes:105879068 Branching = 1.68
Ply:21 Positions: 31 Avg Nodes:175381990 Branching = 1.66
Engine: Houdini 3 Pro x64 1 (512 MB)
by Robert Houdart
Houdini 3 4 threads:
Code: Select all
4 threads
n/s: 8.242.875
TotTime: 25:51m SolTime: 25:51m
Ply: 0 Positions: 30 Avg Nodes: 0 Branching = 0.00
Ply: 4 Positions: 30 Avg Nodes: 3039 Branching = 0.00
Ply: 5 Positions: 30 Avg Nodes: 4795 Branching = 1.58
Ply: 6 Positions: 30 Avg Nodes: 7845 Branching = 1.64
Ply: 7 Positions: 30 Avg Nodes: 14987 Branching = 1.91
Ply: 8 Positions: 30 Avg Nodes: 30712 Branching = 2.05
Ply: 9 Positions: 30 Avg Nodes: 80234 Branching = 2.61
Ply:10 Positions: 30 Avg Nodes: 180169 Branching = 2.25
Ply:11 Positions: 31 Avg Nodes: 540269 Branching = 3.00
Ply:12 Positions: 31 Avg Nodes: 908020 Branching = 1.68
Ply:13 Positions: 31 Avg Nodes: 1409296 Branching = 1.55
Ply:14 Positions: 31 Avg Nodes: 2515494 Branching = 1.78
Ply:15 Positions: 30 Avg Nodes: 4145935 Branching = 1.65
Ply:16 Positions: 30 Avg Nodes: 9216814 Branching = 2.22
Ply:17 Positions: 30 Avg Nodes:15233970 Branching = 1.65
Ply:18 Positions: 30 Avg Nodes:26090160 Branching = 1.71
Ply:19 Positions: 30 Avg Nodes:53620822 Branching = 2.06
Ply:20 Positions: 30 Avg Nodes:126277017 Branching = 2.35
Ply:21 Positions: 30 Avg Nodes:216850121 Branching = 1.72
Engine: Houdini 3 Pro x64 1 (512 MB)
by Robert Houdart
Houdini searches to the depth 21 only 23% more nodes to the same depth 1->4 cores. These can be attributed to overhead. Different from ~1.8 widening other than overhead in Komodo. But the efficiency of this 1.8 effective widening other than the overhead still has to be measured in Elo points, to get [(time 1CPU)/(rime 4 CPU)] to the same _strength_. One has to play fast games at fixed depth, a thing I did previously.