Stockfish hangs

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
hgm
Posts: 28429
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Stockfish hangs

Post by hgm »

Ras wrote: Sat Jan 23, 2021 2:42 pmWhat I dislike here is that I won't be able to reproduce the problem from that game alone if state spills over between games. Especially when using different key schemes, that will cause the hash table entries to be overwritten in different ways, and that may well have an effect upon move sorting. It should be equivalent in terms of Elo, but still different.
It is about two orders of magnitude worse when a state spills over between moves. And the so-called spill-over you make such a fuss about is a one-in-a-couple-of-billion-games event, because it is dependent on a hash collision (in itself astronomically unlikely if you use sufficient key length) altering the behavior of the search enough to make a sought event disappear.

The other thing doesn't seem to be true: XORing the index with a constant just swaps the location of buckets in memory. And if you properly age the existing entries they would be ignored in replacement decisions.
I can test at one second per game, depending on what I want to test.
One sec per game should not be a problem at all, with centi-second resolution.
No really because that skews the metrics. If you have two identical engines, but one has only half the NPS, then you would get something like 50 Elo difference at time based controls, but none at node based ones.
But you would of course compensate for that. You know how much time was spent for each test run of I don't-know-how-many thousand games. And can adapt the node budget for that (based on a course measurement of the nps), or correct a little difference from the know dependence of Elo on thinking time (e.g. subtract 3 Elo if it had used 3% more time).
If I knew that a GUI doesn't stick to the UCI spec as I read it, and that this is actually the underlying reason and not something else in my engine, I would shrug it off and say "don't use this GUI for such fast games".
Well, that could then be a problem when you read the specs in a peculiar way...