Search found 17051 matches

by bob
Sun May 03, 2020 7:55 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Crafty 25.6 search stability
Replies: 39
Views: 4887

Re: Crafty 25.6 search stability

I don't see how that can solve the problem. You say "always access the TT in the same order". Take two threads, A and B. If they access at the same time, you can certainly make it A then B. But what if B does a probe and A has not gotten there yet. In fact, you don't even know that A will EVER get t...
by bob
Sat May 02, 2020 1:27 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Crafty 25.6 search stability
Replies: 39
Views: 4887

Re: Crafty 25.6 search stability

I didn't think anything Joshua wrote was complaining. He seemed to be interested in what was going on and could not understand the odd behavior the transposition table causes (not to mention move ordering can also change which affects LMR/LMP as well. - history counters and such.) This is one of the...
by bob
Wed Apr 29, 2020 4:57 pm
Forum: Computer Chess Club: General Topics
Topic: Syzygy Tablebases Bug
Replies: 14
Views: 2101

Re: Syzygy Tablebases Bug

Is there a documented Syzygy Tablebase bug, using the Fritz 17 GUI, where the game is drawn and the engine resigns? I have lots of games where Stockfish development engines just resigns instead of getting a draw, I just ticked the Never Resigns option on the GUI but will this work when a Play Chess...
by bob
Wed Apr 29, 2020 4:53 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Crafty 25.6 search stability
Replies: 39
Views: 4887

Re: Crafty 25.6 search stability

Why have multiple threads accessing the same data at the same time Because shared data in the hashtable is how the worker threads exchange data! If you synchronise, that will be so slow that you could as well just go back to a single thread. If each thread gets its own separate hash table, then the...
by bob
Wed Apr 29, 2020 4:45 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Crafty 25.6 search stability
Replies: 39
Views: 4887

Re: Crafty 25.6 search stability

Your questions at the top. Hash table is the problem. 1, 2 or more threads can store and read the same position. That's called a race condition. If you synchronize there it becomes a huge bottleneck. There are other things that need to be read and written by different threads at the same time. Pawn...
by bob
Tue Apr 28, 2020 9:25 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Crafty 25.6 search stability
Replies: 39
Views: 4887

Re: Crafty 25.6 search stability

Your questions at the top. Hash table is the problem. 1, 2 or more threads can store and read the same position. That's called a race condition. If you synchronize there it becomes a huge bottleneck. There are other things that need to be read and written by different threads at the same time. Pawn ...
by bob
Tue Apr 28, 2020 4:15 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Crafty 25.6 search stability
Replies: 39
Views: 4887

Re: Crafty 25.6 search stability

Right. Believe me, there really is NO solution to this, if the goal is to have the parallel program run faster than the serial program. Painful but true. You can try any parallel chess program you can get your hands on, and see the same non-deterministic behavior.
by bob
Sun Apr 26, 2020 6:00 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Crafty 25.6 search stability
Replies: 39
Views: 4887

Re: Crafty 25.6 search stability

About all you can do is allow each thread to search one move and then pause while the other threads do the same, one at a time. And in the same order. Which means no speedup at all, and would actually be slower than a normal alpha/beta search. If you try to let each thread search 2 moves at a time, ...
by bob
Sat Apr 25, 2020 9:41 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Crafty 25.6 search stability
Replies: 39
Views: 4887

Re: Crafty 25.6 search stability

The threads are not synchronized, if they were performance would be terrible. The problem lies in the underlying non-determinism of the operating system thread scheduling. When an interrupt comes in, which processor/thread gets the interrupt and handles it? While that is happening, that thread is no...
by bob
Fri Apr 24, 2020 4:31 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Crafty 25.6 search stability
Replies: 39
Views: 4887

Re: Crafty 25.6 search stability

running bench twice should produce different node counts. The hash table will contain lots of positions from the first run, which will affect the second. You could even see different moves and scores, not just different node counts... Crafty has always been this way as it doesn't clear the hash, eve...