Author: Vincent Diepeveen
Date: 10:18:13 07/26/03
Go up one level in this thread
On July 25, 2003 at 20:19:18, Tom Kerrigan wrote: >On July 25, 2003 at 17:09:01, Vincent Diepeveen wrote: > >>On July 24, 2003 at 20:55:49, Tom Kerrigan wrote: >> >>crafty GCC x86 32 bits mode GCC 3.3: 1094 >>crafty GCC x86-64 64 bits mode GCC 3.3: 1562 >> >>64 bits and more registers is faster: 43% >>And we both know how bad GCC is for 16 registers when compared to other >>compilers. The big wins still have to come... > >Yes, well, I said that chess is a special case. > >As for GCC being bad for 16 registers, what the HELL are you talking about? GCC >produces code for all sorts of RISC architectures with 32 registers, you think >it can't handle 16?? > >-Tom You use the correct description: 'it produces code'. Calling it 'optimized code' is chinese for it. GCC uses steam to move itself. Adding more registers won't speed such steamboats up then, because the steamboat gets too big and too heavy then. >>see 32 bits: >>http://www.specbench.org/osg/cpu2000/results/res2003q2/cpu2000-20030421-02102.html >> >>see 64 bits: >>http://www.specbench.org/osg/cpu2000/results/res2003q2/cpu2000-20030421-02093.html >> >>>>>>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.