Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: flood fill attack bitboards

Author: Gerd Isenberg

Date: 15:47:35 09/16/02

Go up one level in this thread


<snip>

>At least it is now possible to make a tiny (few kB) bitboard engine, I'm sure
>that will come in handy when the chips reach 10-20 GHz.
>Maybe MMX isn't fast enough today but who knows with hyperthreading and future
>technologies how much such a thing can be tuned.
>The Hammer should be faster at this than MMX, so perhaps it could be a winner
>already in a few months, what do you think?
>

I hope so, how many integer pipes will hammer have, eight? :-)

>>One possible improvement for the single square getters could be the use of four
>>routine variations with less fill iterations (4..7). Two function pointer arrays
>>indexed by square index, with respect of the maximal lenght of a ray in each
>>direction for straights or diagonals.
>
>No, tables, pointers and conditionals are forbidden, only pure bitwise
>operations. We never know if future chips may have some bad pipeline thingy
>mispridiction problem yada yada.
>

Yes, may be, specially if you inline them.

But otherwise an indirect function call via a 64 pointer array is not as bad.
Specially with diagonals, it may save a few cycles. The diagonal code is
shlightly larger than the straight one, and there are a lot of squares happy
with less than seven iterations:

7 6 5 4 4 5 6 7
6 5 4 4 4 4 5 6
5 4 4 4 4 4 4 5
4 4 4 4 4 4 4 4
4 4 4 4 4 4 4 4
5 4 4 4 4 4 4 5
6 5 4 4 4 4 5 6
7 6 5 4 4 5 6 7

Cheers, BitBoards forever!
Gerd

>>An interesting feature of this routines may be looking for all squares
>>attackable after all possible moves by the sliders. You only need two
>>consecutive calls.
>
>Yes, that is true, so you can get rid of your 'taxi-distance' table too, just
>count the iterations here!
>
>-S.
>
>>Cheers,
>>Gerd



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.