Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: 64 bits

Author: Keith Evans

Date: 14:19:26 06/21/02

Go up one level in this thread


On June 21, 2002 at 16:51:20, Robert Hyatt wrote:

>On June 20, 2002 at 14:32:43, Keith Evans wrote:
>
>>On June 20, 2002 at 13:30:28, Eugene Nalimov wrote:
>>
>>>Such the experiment will answer the question: "On the 64-bit architecture, how
>>>much speedup is caused by the 64-bittness"? I.e. let's imagine 32-bit Alpha or
>>>Itanium2. How slower Crafty will be on such the animal?
>>>
>>>I suspect that the difference will be only ~10%. I.e. Alpha and Itanium2 run
>>>Crafty well not because it uses 64-bit data structures, but because they run
>>>everything well.
>>>
>>>Unfortunately, suggested experiment is flawed. Lot of compilers will generate
>>>much worse code for the operations with structures than for the operations with
>>>the builtin types.
>>>
>>>Eugene
>>>
>>
>>But if the 32-bit datastructures perform _better_ than Bob predicts, despite the
>>"much worse code", then the experimental results could still be useful. I agree
>>that if the performance of the 32-bit datastructures is significantly lower
>>(matching Bob's prediction) then we won't be able to say whether it's due to the
>>compiler or just the 32-bit widths.
>>
>>Of course this may not motivate Bob to perform the experiment, because it can
>>only show that his 64-bit bitboard performance claims are a bit exagerrated. If
>>it's in the other direction then the argument will continue.
>>
>>We can only hope that a scientifically minded new chess engine author who is
>>considering the use of bitboards will do some experimentation on these new
>>processors and share the results.
>>
>>-Keith
>
>
>Did you _ever_ consider that "some scientifically minded authors" might have
>_already_ done this?  You did know that Cray Blitz was a non-bitmap program?
>
>You did know that the chess 4.x guys used a non-bitmap program in version
>3.x?  That early duchess versions were traditional array-based while the
>last duchess program was bitmap?
>
>IE a _bunch_ of us have played with this stuff and decided that 64 bit words
>offers some unique things that make a lot of sense.  Speaking only for myself,
>I didn't just "switch" for the sake of switching.  I studied bitmaps for _years_
>prior to making the change.  I looked at key parts of the chess engine to see
>if bitmaps made sense.  I concluded "yes".
>
>It was a lot of work to start over from scratch yet again.  However, to imply
>that I did it without due consideration is a bit of a wild stretch.  I did it
>after _considerable_ study and deliberation.  I ran tests on 32 and 64 bit
>machines in the process.  It makes good sense.  I won't say the gain is 2x,
>because not every instruction is fiddling with 64 bit values.  But the
>gain is certainly considerable, just by eliminating the duplicate instructions
>required on 32 bit machines...
>
>Anybody interested can try both approaches and make the choice themselves.  I've
>not suggested that _anybody_ scrap what they have done.  I have repeatedly said
>that bitmaps on a Intel 32 bit platform are "break even".  They give some
>advantages (generating only captures, easily, is one).  The extra instructions
>are bad, although the super-scalar intel machines tend to hide a lot of that
>since the instructions can issue in parallel to different pipes.  On 64 bit
>architectures, the 64 bit parts of the engine simply run faster, period.  That
>represents a significant part of the work being done.  MakeMove() for example
>is just about exclusively about updating 64 bit values and nothing else.
>Ditto for UnmakeMove().  Those two functions, by themselves, are 15% of Crafty's
>total cpu usage.  And they are nearly 100% 64 bit operations with a very few
>branches thrown in.  64 bit architectures definitely help those pieces.  There
>are others that are equally as complex and intensive on 64 bit operations.
>
>I didn't do it on a lark.  I did it after a _lot_ of consideration.

Care to point me to a paper or any hard evidence showing the "considerable"
gains? Or tell me how to demonstrate that for myself? I think that's all we're
asking. Is the choice a matter of taste, or a matter of performance?

I didn't see any huge objections to Eugene's assembly language snippet which
seemed to put a bounds on the "matter of performance" camp.

-Keith



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.