Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: 64 bits

Author: J. Wesley Cleveland

Date: 15:05:15 06/20/02

Go up one level in this thread


On June 20, 2002 at 16:05:26, Robert Hyatt wrote:

>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.
>

It would be a lot simpler and equally fair to compile a 32 bit version of crafty
without assembler.



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.