Computer Chess Club Archives


Search

Terms

Messages

Subject: Reply to Rajen Gupta re: 64 bit

Author: Tom Kerrigan

Date: 17:55:49 07/24/03

Go up one level in this thread


>>>On July 22, 2003 at 14:54:48, Rajen Gupta wrote:
>>>
>>>You are comparing x86 executables here.
>>>That's like running 8 bits XT executables at the P4.
>>>
>>>Do you understand that?
>>>
>>>If not then it is useless to say that things will change for chess software a
>>>lot when there is native good x86-64 compilers for opteron (and future intel
>>>x86-64 platforms which does *not* include that 3.06Ghz Xeon MP).

Not really.

First of all, the XT had an 8088, which was a 16 bit processor.

Second, XT executables use a lot of the x86's more CISC-ish instructions that
run very poorly on modern processors, and they have data that isn't aligned
right for modern processors, and they make heavy use of segmentation because of
the tiny amount of flat-addressable memory, so of course they will run very
poorly on modern processors.

Using that as an analogy for x86 vs. AMD64 is a mistake because with the
Opteron/Athlon 64, there is very little difference between how the processor
works in each mode. Instructions are fetched, decoded, issued, executed, and
retired in virtually the same way regardless of if it's 32 bit code or 64 bit
code.

There's a small performance penalty when running 64 bit code on an AMD64
processor vs. 32 bit code because in 64 bit mode, pointers are all twice as big,
which means a less efficient use of memory. Then again, there's a small
performance gain from having the extra registers that are available in 64 bit
mode. Overall, the performance gain from switching to 64 bit is reportedly
10-25%, although recently an AMD64 build of SETI was released and it runs slower
than the 32 bit version, by something like 10% if memory serves.

So running regular x86 programs on an Opteron is in no way crippling it, because
the instruction mix is already good, the data is aligned right, there's almost
certainly no use of segmentation, and the only "bad" thing about it is that the
extra 8 registers aren't available, which don't make THAT big a difference.

Of course, chess is a somewhat special case, because some programs use bitboards
and 64 bit math significantly speeds up bitboard operations. Of course, you
wouldn't see nearly a factor of 2 speedup because bitboard operations are still
a small percentage of instructions even for programs that make heavy use of
them.

-Tom



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.