Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: 64 bits

Author: Robert Hyatt

Date: 13:05:26 06/20/02

Go up one level in this thread


On June 20, 2002 at 14:38:55, Robert Henry Durrett wrote:

>On June 20, 2002 at 13:03:10, Robert Hyatt wrote:
>
>>On June 20, 2002 at 12:30:47, Keith Evans wrote:
>>
>>>On June 19, 2002 at 23:27:51, Robert Hyatt wrote:
>>>
>>>>On June 19, 2002 at 20:45:33, Keith Evans wrote:
>>>>
>>>>>On June 19, 2002 at 14:33:56, Tom Kerrigan wrote:
>>>>>
>>>>>>On June 19, 2002 at 13:10:42, Robert Hyatt wrote:
>>>>>>
>>>>>>>I don't care about the 32 bit specint.  I care about the fact that a
>>>>>>>1.4ghz pentium runs Crafty at about 750K nodes per second.  The 600mhz
>>>>>>>21264 ran it at over 800K.  And 600mhz is _not_ the fastest 21264 around.
>>>>>>>
>>>>>>>The 1ghz mckinley runs it twice as fast as that 1.4ghz pentium, 1.5M nodes
>>>>>>>per second.  _that_ is definitely "something to get excited about" IMHO..
>>>>>>
>>>>>>So you like the 21264 and the McKinley. That's great. Maybe you can start a fan
>>>>>>club, instead of posting to a thread where people are trying to have an
>>>>>>intelligent conversation about 64-bit computing.
>>>>>>
>>>>>>-Tom
>>>>>
>>>>>Is there an easy way to compare a 1.4 GHz P3 to a 1 GHz McKinley and see where
>>>>>this Crafty performance increase is coming from? I'm not at all familiar with
>>>>>McKinley, but would it be possible to run a version of Crafty compiled for
>>>>>32-bits on a McKinley and compare that to a Crafty compiled for 64-bits on
>>>>>McKinley? Is this a dumb idea? If this isn't possible, then it's going to be
>>>>>difficult to tell where the performance gain is really coming from.
>>>>>
>>>>>-Keith
>>>>
>>>>I don't know that you could do this.  It would require that the compiler know
>>>>how to implement 64 bit ints as 2x32 bits, which on a mckinley would be a waste
>>>>of the compiler-writer's time...
>>>
>>>So what's wrong with Tom's suggestion - "You can make a bitboard class that
>>>contains two 32-bit ints and overload all the int operators and run it on a
>>>64-bit chip. ... renaming his source files from .c to .cpp and writing this
>>>simple class"
>>>
>>>Is this is a valid experiment then why not do it and settle the argument?
>>>Someone might even consider publishing a paper on it. (Maybe Tom would volunteer
>>>to hack the code if you don't want to bother?) If it's not valid then what's
>>>wrong with it? Do you think that the compiler would outsmart Tom and use 64-bit
>>>words for the bitboards anyways?
>>>
>>>What would your prediction for such an experiment be? That the version with 2 x
>>>32-bit bitboards would run half as fast as the version with 64-bit bitboards?
>>>
>>>I'm pretty sure that we could find some willing volunteers to run some simple
>>>experiments on their hardware.
>>>
>>>-Keith
>>
>>
>>It could certainly be done.  However, I don't see what it would prove.
>>Other than that 64 bit operations are more efficient when done in one
>>"chunk" than in two.  That seems intuitive anyway.  It would also present
>>a few problems, with the FirstOne() and LastOne() PopCnt() functions that
>>use assembly on the PC but not on the 64 bit machines (yet).
>>
>>Remember that my comparison results are for the "best" 32 bit crafty I have
>>vs the 64 bit machines.  Unfortunately, the 64 bit machines have no assembly
>>so they are at a significant disadvantage to start with, yet they are
>>blazingly fast.  When I have access to one for a period of time, that
>>advantage will go away completely.  Then it will be 32 vs 64 in  a _real_
>>comparison, not a biased-toward-32-bit mode as it is done today.
>
>Bob H., as an "outsider" to "the world of professional software design," I don't
>know how to ask this using the "insider" terminology.  Here is my question
>anyway:  Does your 64-bit Crafty fully utilize all of the capability that
>"64-bit" has to offer?  In other words, does it represent the ultimate
>performance one might get by using "64 bit," whatever that is?

No.  The 32 bit version has some assembly for important things like
finding the first 1 bit, etc.  The 64 bit versions have used plain
software implementations of those functions.  The same you would get
if you compile Crafty without any of the .asm stuff included.

>  I repeat:  Do
>you fully utilize all that "64 bit" has to offer in your engine?  Part of the
>question is whether or not there exist suitable compilers.


To make the test fair, 64 bit versions of the 32 bit assembly need to be
done.  That won't happen until the processors are available of course.  Then
the speed gain will be more significant.



>
>If people wish to run an experiment to determine whether or not "64 bit" has
>much to offer, then one might wonder whether or not Crafty is the best choice as
>"the representative" of the best that 64-bit has to offer.  Of course, there may
>be nothing else available.
>
>Bob D.


To get "everything" will require time.  It required a lot of time on the Cray-1
to go from 1K nodes per second on a single cpu in 1980 to the 25K per cpu we
were getting 5 years later.



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.