simple array 64 square vs bitboard

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: simple array 64 square vs bitboard

Post by Daniel Shawul »

Wow , I sure didn't see that. Nice catch Miguel.
But I would still be inclined to 100elo instead of 50 elo.

Edit : Now that I read it again, it sounds like he added 10 elo for the fact that 2cpu might not double nps. The problem is even if it did, you can's still compare that to 2x the time for single cpu engines. You can double nps perfectly and get 10 elos only... So looking at rating lists is very misleading.
Sorry but the point still remains the same. Volker can confirm what he meant.
Mincho Georgiev
Posts: 454
Joined: Sat Apr 04, 2009 6:44 pm
Location: Bulgaria

Re: simple array 64 square vs bitboard

Post by Mincho Georgiev »

Let's not forget how bushy the tree is. If the number of nodes examined between the print_info's is bigger that certainly would have impact on the NPS measurement and still completely irrelevant regarding strenght.
Gerd Isenberg
Posts: 2250
Joined: Wed Mar 08, 2006 8:47 pm
Location: Hattingen, Germany

Re: simple array 64 square vs bitboard

Post by Gerd Isenberg »

michiguel wrote: "In CEGT Stockfish with 2 CPU is listed about 40 Elo stronger than Stockfish with 1 CPU. This indicates that doubling engine speed may give about 50 elo. Bitboards does much less than doubling speed thus gives less than 50 elo."

Miguel
I agree for a 1:1 port from mailbox to bitboards. With bitboards you may try some things, not efficiently possible otherwise, i.e. multi-path fillalgos or kogge-stone with mailbox. Whether one can gain 40 elo with that stuff is another question, at least one is supposed to try ;-)

Gerd
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: simple array 64 square vs bitboard

Post by michiguel »

Gerd Isenberg wrote:
michiguel wrote: "In CEGT Stockfish with 2 CPU is listed about 40 Elo stronger than Stockfish with 1 CPU. This indicates that doubling engine speed may give about 50 elo. Bitboards does much less than doubling speed thus gives less than 50 elo."

Miguel
I agree for a 1:1 port from mailbox to bitboards. With bitboards you may try some things, not efficiently possible otherwise, i.e. multi-path fillalgos or kogge-stone with mailbox. Whether one can gain 40 elo with that stuff is another question, at least one is supposed to try ;-)

Gerd
I did not say that, I was quoting Volker.
Anyway, I agree with you 100%. As a consequence, a one to one port from bitboards to mailbox could give you a slowdown that is more than double.

Miguel
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: simple array 64 square vs bitboard

Post by mcostalba »

Mangar wrote: Take a look at stockfisch, very strong, having bitboard and rather low nps compared to "pure" bitboard engines.
nps depends mainly on the evaluation weight, not on move generation speed. In SF we evaluate at every node and evaluation function is quite heavy.

BTW where did you get the above comparison numbers ? Actually SF move generation and search is quite efficient, it is very difficult to write something faster. I don't claim is the fastest out there just because I cannot prove it, but I wouldn't be surprised if it is ;-)

Please don't consider perft as a speed measure because in perft we do more things then the typical program, for instance we score and sort the moves and pick up them in a staged fashion, our perft is much more similar to the actual working code, with just evaluation removed, then to an ad-hoc tweak.