Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: My humble experience with bitboards

Author: José Carlos

Date: 23:57:19 11/27/02

Go up one level in this thread


On November 28, 2002 at 01:50:49, Russell Reagan wrote:

>On November 27, 2002 at 19:03:38, José Carlos wrote:
>
>>  The program is still far from playing a whole game, and I'm not gonna have any
>>spare time in the next few months, but I expect it to outplay Averno completely
>>(though I'm having a horrible branching factor with MTD).
>
>Hello José,


  Hi Russel,


>I too am writing a bitboard engine, and mine is also using non-rotated
>bitboards. I'm almost done with move generation (still need promotion and en
>passant). How fast is your non-rotated bitboards program compared to other
>programs?


  I'm not focusing in speed at all. I chose to start easy and, eventually, I
could rewrite critical parts for speed. However, I've found it's fast enough so
far. My main source of comparison is Averno (0x88 + piece-lists). At this moment
Anubis (my new program) does half the nps as Averno, being the move generator
much slower. But I add all evaluation I want without hurting speed much, which
is very good. Note also that I do SEE everywhere in Anubis (not only in quies
but also in regular search to sort captures), but I don't use SEE at all in
Averno.


>I know that Gerd said IsiChess is a little faster when using his MMX
>implementation of non-rotated bitboards, but I'm only using a C/C++
>implementation of those routines, and I'm afraid that once I get it
>all finished that it's going to be fairly slow. What do you think?


  The only assembler I'm using is PopCount (from Athlon optimization manual) and
FirstOne (from another manual I don't recall). I'm not using MMX at all. As for
S.Wescott algorithms (Kogge-Stone etc.) I'm not using them. Only in the last
days I did implement them (in C) to compare with mine, but I haven't had time to
do a serious comparison.


>I have a lot of functions I can inline also, so that might give me a boost.
>Currently I don't have any functions inlined. Once all of the attack generation
>and bit location lookup (which gets called a lot) gets inlined, that could be
>significant, but I don't know how much inlining usually helps. I'm also passing
>bitboards to those functions by value, so inlining can help there too. Does
>anyone know how much inlining can help?


  A function that is called a lot is speed critical, so inlining must give a
good speed improvement. How much? Well, it depends on the program, of course...


>Russell

  José C.




This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.