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.