Considering the direction of compute power (massively parallel computation appears to be the wave of the future) any improvement in efficiency (even 5%) would seem to be terribly important to me.bob wrote:I didn't understand it because spLevel was not in the Stockfish6 code I looked at. That change is not going to be worth 50 Elo or so however. But I will let YOU figure out why. And yes, if you look at my old DTS paper this kind of thing was factored in. There's very little new stuff in normal PVS/YBW type parallel searching.mcostalba wrote:It is not clear why it succeeds because the idea of late join was already tested without success, also the idea to join to near the root was already tested without success.gladius wrote:I'll repost my comment from the fishcooking forum:zullil wrote:Can someone explain in general terms the following code from the recent smp patch for SF:
It seems that the idea is to order split-points lexicographically based on spLevel, slavesCount and depth, in order to allocate threads "intelligently".
Correction/elaboration welcome. Thanks.
Really nice idea too. It's a great refinement of the late-join idea. Instead of just joining the first split point we find, score all the potential ones, and pick the one with the best score. The scoring metric checks how many recursive splits have been done first, then the number of slaves already on the split point, and finally the depth. So, it will distribute the slaves out more across the tree, and bias towards ones near the root of the tree.
So here the new thing is this score formula that is made so to bias toward ones with small number of split points and only when the number of split point is equal, toward near the root of the tree. But near the root is not the key of the success, because when tested alone it failed.
IMO the key is to bias toward small number of split points (the parameter that Bob did not understand). Of course once we explain to him he will promptly say that he already did it in the '80, so, to avoid this pity, I won't tell him what spLevel means
And with stockfish being open source, everyone can benefit from the results of their experiments. It's a win/win/win situation if there ever was one.