Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: HW based Crafty (Boule's thesis)

Author: Keith Evans

Date: 14:01:52 04/09/02

Go up one level in this thread


On April 09, 2002 at 14:38:26, Robert Hyatt wrote:

>On April 09, 2002 at 13:44:03, Keith Evans wrote:
>
>>On April 09, 2002 at 10:01:10, Robert Hyatt wrote:
>>
>>>On April 08, 2002 at 23:58:40, Keith Evans wrote:
>>>
>>>>So how many more of these tables are there...?
>>>
>>>That's a good question.  But first, a more important question...  what would
>>>be the _best_ way to do this in hardware?  IE lookup tables are the best way
>>>(so far) for software...  But for hardware things would probably be
>>>different.  IE it would be possible to rotate the bitboards in hardware
>>>rather than storing them already rotated...  This probably needs some thought
>>>as it is not always the best idea to take a software algorithm and stuff it into
>>>hardware as-is...
>>
>>I guess that it would be only be interesting if you could rotate in a single
>>cycle?
>
>Yes.. but when you think about it, for a designed ASIC, this is just a
>simply pathway operation... reading the bits from X, re-arranging them
>via simple "wires" and then delivering them to Y in a rotated form...
>
>For an ASIC, it would take some thought as to how to accomplish this, if it
>is possible...

I'm more concerned with routing in an FPGA where the wire length is even more
dominant than in deep submicron ASICs.

>>
>>The major problem that I have is that I don't understand what your functions are
>>really doing, so I can't really think about the big picture. I could browse the
>>Crafty source, but only after I file my taxes. (It's one of those - you owe the
>>govt $$$ years. Hard to get motivated to finish!)
>
>I can explain the rotated stuff if that is what you are asking about...

I have your paper about rotated bitmaps and understand that concept - maybe I
should reread it though. I just really don't understand how your engine works
well enough to understand what bitmap operations could be moved into a
coprocessor and actually accelerate your program when it's running on a fast
CPU. If you could point me to the source files and function names that seem
likely then I could study that in more detail - or I can just search for the
function names that you mentioned earlier.

If part of your interest in this concept that it would result in smaller
datastructures for your program resulting in better cache behavior?

This approach interesting to me because if it makes sense then perhaps it could
be applied to games like Xiangqi which would require 90-bit wide bitmaps. Of
course in Xiangqi rotated bitmaps wouldn't buy you anything, and I'm not sure
how you handle pieces like the elephant and horse which can be blocked. Let me
know if you know of an elegant solution for that.

Regards,
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.