Author: Robert Hyatt
Date: 11:55:51 06/20/00
Go up one level in this thread
On June 20, 2000 at 14:34:37, James Robertson wrote: >On June 20, 2000 at 14:21:23, Christophe Theron wrote: > >>On June 20, 2000 at 11:17:48, Andrew Williams wrote: >> >>>On June 20, 2000 at 09:02:26, Robert Hyatt wrote: >>> >>>>On June 20, 2000 at 04:55:22, Dann Corbit wrote: >>>> >>>>>On June 20, 2000 at 04:41:47, James Robertson wrote: >>>>> >>>>>>Ignore all results from my previous post "Rough comparison between ro....". I >>>>>>made some stupid coding errors in my test rotated bitboard code. Once fixed the >>>>>>rotated bitboards look very competitive against 0x88. :) I also found flaws in >>>>>>my 0x88 code, but they were very minor and I think I caught all of them (correct >>>>>>move lists are generated in all my test positions). >>>>>> >>>>>>I am very happy to continue to use rotated bitboards. Thanks Robert for >>>>>>inventing them, and thanks Tim for showing me how to use them! >>>>> >>>>>What was the timing ratio for various operations between the two methods? >>>>> >>>>>For the 0x88, what board size did you use? >>>> >>>> >>>>For 0x88 you don't have much choice... it has to be 128, where you use the left >>>>half for the board, the right half (64 squares) are off the board. There is >>>>really a top half of 128 words also, but 0x88 eliminates references to them >>>>due to the 0x80 bit not being allowed. >>> >>>Christophe Theron posted a few interesting pointers to using 16x16 instead of >>>16x8 last week (I think). >>> >>>Andrew >> >> >>Yes. I think that comparing 0x88 and bitboards is not totally relevant, as 0x88 >>is in my opinion suboptimal. I explained why in last week's posts. >> >>There are also many smart tricks you can use that are derived from the >>properties of a 16x16 (or 16x12) board, and they have never been published. >> >>I don't believe it is possible to compare 0x88, 16x and bitboards in one day or >>two. Once you start to use one system, you discover smart ways to optimize it >>even months after you start using it. >> >>I think that 16x and bitboards just break even, even on 64 processors, but it >>would probably be very difficult to demonstrate this... >> >> >> Christophe > >I don't think we will ever know which is better, as there will probably never be >someone who spends enough time at both to find every clever trick a system >provides. I think I would stick with bitboards even if I knew their absolute max >move generation speed to be 1/2 the 16x absolute max. First, 1/2 the speed in >move generation is not that much when translated into a complete chess program, >and second, I have so much more experience with bitboards that I would be able >to bring them closer to some "absolute" potential than any other representation >to its "absolute" potential. > >James I have done both (+ others) for a long time. I used 0x88 in the 1970's and early 80's, but switched to a 10x12 board in the early 80's as it vectorized better and fit the Cray architecture better. I stuck with that until 1995/1996 when I started with bitboards. I don't know that any one approach is way better than the others on 32 bit machines. But things do change on 64 bit machines, and on machines with streaming vector hardware. IE I did things far differently on a cray because I knew the architecture in great detail, and designed things to be done efficiently. If you haven't studied a Cray and what it can do with vector operations, it is an eye-opening experience to do so. Vectors aren't just for adding, subtracting, etc. You can do mobility with different weights for each square, etc. And you can do it _fast_. I have a pretty strong feeling that bitboards is better than other approaches on 64 bit machines, primarily due to data density. A 64 bit int passes around a lot of data with a bitboard, while for a program that doesn't need that much data precision, it passes around a whole lot of zeroes... and you get nothing for passing them around.
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.