Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question to Bob: Crafty , Alpha and FindBit()

Author: Robert Hyatt

Date: 08:01:11 06/08/98

Go up one level in this thread


On June 08, 1998 at 10:34:23, Vincent Diepeveen wrote:

>On June 08, 1998 at 07:37:44, Robert Hyatt wrote:
>
>>On June 08, 1998 at 07:17:08, Vincent Diepeveen wrote:
>>
>>>
>>>On June 05, 1998 at 21:48:57, Robert Hyatt wrote:
>>>
>>>>On June 05, 1998 at 17:47:07, Bruce Moreland wrote:
>>>>
>>>>>
>>>>>On June 05, 1998 at 08:53:53, Ernst A. Heinz wrote:
>>>>>
>>>>>>BTW, we have been waiting to get our hands on a Alpha-21264 for roughly
>>>>>>a year because "DarkThought" will hopefully speed up as much on them
>>>>>>as "Crafty".
>>>>>
>>>>>What percentage of execution time do you and Bob spend doing these
>>>>>operations, do you think?netscape -install
>
>>>>>
>>>>>bruce
>>>>
>>>>FindFirstOne() = 1-2% in crafty.  popcnt is much less...  so that won't
>>>>help a whole lot.  but the 64 bit stuff helps in general...
>>>
>>>Well that doesn't say anything concrete.
>>>
>>>More important is the overall delay.
>>>
>>>At a P133 intel the speed difference between crafty's move generator
>>>and diep's move generator is somewhat more than 3 times.
>>>
>>>Crafty is more than 3 times slower, because of bitboards, which perform
>>>badly at 32 bits. Note that the more possibilities, this 3 times will
>>>become
>>>4 times.
>>>
>>>For something taking 1 clockcycle in my program and which can
>>>be even pipelined in U + V pipe,
>>>crafty needs sometimes even a whole function.
>>>
>>>Greetings,
>>>Vincent
>>
>>
>>yes... but try to generate nothing but captures and compare that, which
>>is a major part of the total tree search...
>
>Where do i need to generate captures for?
>
>But to answer your question: 2.5 times faster.


Because in ordering alpha/beta moves, captures are searched first.  And
they cause most of the cutoffs.  If you just produce captures, you don't
have to continually wade through the non-captures picking out capture
moves to try...

and the best test to try is to set up a position in Crafty, and use the
"perf" command...  set up a position such as kopec22 which is a
reasonable
early middlegame position, and type "perf".  On a single processor
pentium
pro, that produces the following:

Black(1): perf
generated 3300000 moves, time=1.38 seconds
generated 2391304 moves per second
generated/made/unmade 3300000 moves, time=4.94 seconds
generated/made/unmade 668016 moves per second


IE I can generate all moves from that position for white, at 2.4M moves
per second, or I can generate all the moves, and then make each one, and
do that at 670K moves per second...

What's your speed?  here is the position, diagram and FEN:

Black(1): d

       +---+---+---+---+---+---+---+---+
    8  |   |   | *R|   |   | *R| *K|   |
       +---+---+---+---+---+---+---+---+
    7  |   | *B| *Q| *N| *B| *P| *P|   |
       +---+---+---+---+---+---+---+---+
    6  |   | *P|   | *P| *P| *N|   | *P|
       +---+---+---+---+---+---+---+---+
    5  | *P| P |   |   |   |   |   |   |
       +---+---+---+---+---+---+---+---+
    4  | N |   | P |   | P |   |   |   |
       +---+---+---+---+---+---+---+---+
    3  | P |   |   | B |   | N |   | P |
       +---+---+---+---+---+---+---+---+
    2  |   | B |   |   | Q | P | P |   |
       +---+---+---+---+---+---+---+---+
    1  | R |   |   | R |   |   | K |   |
       +---+---+---+---+---+---+---+---+
         a   b   c   d   e   f   g   h


2r2rk/1bqnbpp/1p1ppn1p/pP/N1P1P/P2B1N1P/1B2QPP/R2R2K b



This page took 0.01 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.