Search found 64 matches

by TomKerrigan
Thu Dec 14, 2017 2:17 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: "Simplified ABDADA" updated
Replies: 7
Views: 2595

Re: "Simplified ABDADA" updated

jcw66 wrote:Thanks for enhancing this old parallel search! I hope you find it usefull.
Great to hear from you and thank you so much for developing the original algorithm!

I think almost anything that's self-synchronizing is terrific. Self-synchronizing Young Brothers Wait is a stroke of genius. :)
by TomKerrigan
Sat Dec 02, 2017 6:30 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: "Simplified ABDADA" updated
Replies: 7
Views: 2595

Re: "Simplified ABDADA" updated

Hi Tom, Many thanks for the write up! I followed your ideas and implemented simplified ABDADA in Barbarossa (up to step 6, but without cutoff checks yet). I skipped some of the preparation steps which were meant basically to make sure the implementation is correct so far. In my own tests I got ~80 ...
by TomKerrigan
Sun Sep 10, 2017 8:21 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Lazy SMP and "lazy cluster" experiments
Replies: 80
Views: 18864

Re: Approximate ABDADA

The way I do thread synchronization at the root is to have a data structure for the root search parameters: alpha, beta, depth, current best move, current best score, move that's failing a null-window search (if any). I have one of these structures local to each thread, and one global structure for ...
by TomKerrigan
Fri Sep 08, 2017 8:20 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Lazy SMP and "lazy cluster" experiments
Replies: 80
Views: 18864

Re: Approximate ABDADA

2) Cutoff Checks: at higher depths, if you've deferred any moves, probe the hash table in your search function's inner loop to see if the position has failed high. After reading your description I tried a variant of it. If the depth is large enough always do cutoff checks even if there are no defer...
by TomKerrigan
Tue Sep 05, 2017 9:45 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Lazy SMP and "lazy cluster" experiments
Replies: 80
Views: 18864

Re: Approximate ABDADA

Since my experiments to improve on lazy SMP in texel by using ideas from the ABDADA algorithm were quite successful , I decided to write a summary of the algorithm I ended up with. ... Hi Peter, I was wondering if you saw my parallel work, it sounds similar in a number of ways: http://www.tckerriga...
by TomKerrigan
Wed Aug 30, 2017 4:34 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Lazy SMP and "lazy cluster" experiments
Replies: 80
Views: 18864

Re: Lazy SMP and lazy cluster algorithm

... This is very similar to what I do in Wasp. Except that I have a "main" thread which handles I/O and a timer and create a search thread pool when the program is started. Before a search, the main thread copies the root position to all the search threads and sets a flag for them to start searchin...
by TomKerrigan
Tue Aug 29, 2017 6:43 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: "How To" guide to parallel-izing an engine, easy a
Replies: 35
Views: 5131

Re: "How To" guide to parallel-izing an engine, ea

The latter part is the one I don't follow. If you search the same position to the same depth with the same alpha-beta window, it seems like you should get the same stuff written back to the hash table, regardless of which thread is doing the search. The only way I can imagine that smarter/better/di...
by TomKerrigan
Tue Aug 29, 2017 6:34 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: "Simplified ABDADA" updated
Replies: 7
Views: 2595

Re: "Simplified ABDADA" updated

I don't want to be nitpicking but to better evaluate how much the ABDADA synchronization mechanism is worth (in the TtD metric you use) you should also make the corresponding measurements without synchronization (i.e. the simple SHT approach). Not at all! I'm happy to discuss any of this. The speed...
by TomKerrigan
Tue Aug 29, 2017 6:02 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: "How To" guide to parallel-izing an engine, easy a
Replies: 35
Views: 5131

Re: "How To" guide to parallel-izing an engine, ea

... I've already posted my TTD speedup numbers in the other thread on ABDADA. But you still don't get it. TTD is the wrong measure, because the result of Depth=N with Threads=T doesn't just depend on N. It also depends on T. This is the so-called "widening effect". And it gives incredible elo scali...
by TomKerrigan
Tue Aug 29, 2017 5:57 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: "How To" guide to parallel-izing an engine, easy a
Replies: 35
Views: 5131

Re: "How To" guide to parallel-izing an engine, ea

As for the idea of "widening," I've seen this mentioned a few times and infer that it has to do with late move reductions. The idea being that you search moves to different depths depending on move ordering. And some Lazy SMP implementations randomize move ordering to some degree, meaning that the ...