I agree. In fact, it is kind of disturbing.Sesse wrote: ↑Sat Jan 02, 2021 1:20 amIt's insane that seemingly small tweaks to what was considered the worst-scaling algorithm (shared hash table) somehow produces the best one.Dann Corbit wrote: ↑Thu Dec 31, 2020 3:55 pm Did you try LazySMP?
Easy as falling off of a log and seems to work really well.
YBW engines past and present?
Moderators: hgm, Rebel, chrisw
-
- Posts: 12541
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: YBW engines past and present?
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
-
- Posts: 5566
- Joined: Tue Feb 28, 2012 11:56 pm
Re: YBW engines past and present?
I don't think the small tweaks made the difference. In the old days testing an SMP implementation meant searching about 24 positions to a depth of about 8 and comparing total nodes, so I'm not sure there was any serious data to begin with. What may also have helped the shared hash table approach is the very low branching factor of modern engines.Sesse wrote: ↑Sat Jan 02, 2021 1:20 amIt's insane that seemingly small tweaks to what was considered the worst-scaling algorithm (shared hash table) somehow produces the best one.Dann Corbit wrote: ↑Thu Dec 31, 2020 3:55 pm Did you try LazySMP?
Easy as falling off of a log and seems to work really well.
-
- Posts: 4185
- Joined: Tue Mar 14, 2006 11:34 am
- Location: Ethiopia
Re: YBW engines past and present?
ABDADA was comparable to YBW even in the old days too, just wasn't given as much attention.
From what I recall, the author was bad-mouthed when the paper came out claiming a YBW algorithm
done all through the hashtable. Lazy SMP is certainly lazier but it is not better than ABDADA which is
still the best algorithm for Scorpio.
From what I recall, the author was bad-mouthed when the paper came out claiming a YBW algorithm
done all through the hashtable. Lazy SMP is certainly lazier but it is not better than ABDADA which is
still the best algorithm for Scorpio.
-
- Posts: 2272
- Joined: Mon Sep 29, 2008 1:50 am
Re: YBW engines past and present?
It was never "worst scaling". In fact the old Toga used an extremely simple implementation of shared hash and its scaling was comparable to YBW engines. One can check this at CCRL. I pointed this out a few times but it was ignored.It's insane that seemingly small tweaks to what was considered the worst-scaling algorithm (shared hash table) somehow produces the best one.
The "tweaks" make little difference. In fact I think Stockfish has dropped all of them by now.
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.
Without ideas there is nothing to simplify.
-
- Posts: 193
- Joined: Sat May 25, 2013 11:17 am
- Location: France
- Full name: Patrice Duhamel
Re: YBW engines past and present?
Cheese still use YBW, based on Stockfish implementation, but I will look at Lazy SMP and maybe ABDADA.
Anything that can go wrong will go wrong.
-
- Posts: 180
- Joined: Mon Sep 03, 2007 9:15 am
Re: YBW engines past and present?
My engine Hermann was LazySMP. Although rating lists indicated, that Hermann with 4 cores was much stronger than with a single core, I was not satisfied with the speedup in time to depth with 4 ore more cores. So I started Arminius with a simple search and eval to have something clean to implement YBWC. Arminius has improved since then and is no longer that simple.
The latest public version of Arminius is a little more than 2 years old. It still uses YBWC. You can find it here:
http://www.nnuss.de/Hermann/Arminius2018-12-23.zip
http://www.nnuss.de/Hermann/Arminius201 ... nux.tar.gz
http://www.nnuss.de/Hermann/Arminius201 ... spi.tar,gz
Now I am on the way back to LazySMP. My latest development version has a UCI option to switch between LazySMP and YBWC, but it is not yet ready for release.
The latest public version of Arminius is a little more than 2 years old. It still uses YBWC. You can find it here:
http://www.nnuss.de/Hermann/Arminius2018-12-23.zip
http://www.nnuss.de/Hermann/Arminius201 ... nux.tar.gz
http://www.nnuss.de/Hermann/Arminius201 ... spi.tar,gz
Now I am on the way back to LazySMP. My latest development version has a UCI option to switch between LazySMP and YBWC, but it is not yet ready for release.