Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Multi-Hydra Computer Feasible in Future?

Author: Keith Evans

Date: 08:54:20 02/18/04

Go up one level in this thread


On February 18, 2004 at 10:48:17, Bob Durrett wrote:

>This is interesting.  Some things that work well in software for the PC may work
>poorly in a given type of hardware and visa versa.  I was intrigued by the
>possibility of making a hardware implementation of Crafty software, but perhaps
>much of the code in Crafty may have to be scrapped and replaced with other code
>more easy to convert to hardware.
>
>I can see also the possibility that there would be many design tradeoffs which
>would come out differently in a hardware implementation versus a software
>implementation [on a PC or other general-purpose computer].
>
>Converting an existing software engine to a hardware engine would likely be
>sub-optimal for the above reasons.  On the other hand, it might still be a
>worthwhile endeavor since the exercise would point to better ways to make the
>hardware chess engine in the future.
>
>When working with hardware, its always necessary to work within the existing
>state-of-the art and using existing hardware.  This is a compromise which
>software people may not have to face other than having to use existing
>compilers.
>
>Just thinking out loud.  : )
>
>Bob D.

This is why I joked that the Opteron is a hardware Crafty. I think that Bob has
really optimized Crafty to run on a 64-bit Von Neuman machine. I would not want
to try to accelerate it as-is with custom hardware. The best bet would be to
lobby AMD for some new instructions in a follow-on CPU ;-)

You could make a custom 64-bit bitboard processor in an FPGA, but even if it
were more efficient in some operations it would be hard to compete with
something running at over 2 GHz. (It might be able to do things like manage
rotated bitboards much more efficiently.) Let's say that the FPGA ran at 200
MHz. Unless the FPGA were 10X as efficient as the Opteron, it would not be
competitive. Then Bob trivially (since he's already done the SW work) moves to a
multi-Opteron system, and you need to figure out how to use your FPGAs in
parallel.

In some ways the hardware versus software tradeoff can become a little
confusing. If Bob makes a custom Opteron board with 16 Opterons on that, and
then a custom backplane to hold 16 of those what do you call that? And if I
implement some custom processor in an FPGA and then write software for that
processor? Both involve a lot of custom design work. The cool thing about Bob's
approach is that you basically have a ton of people at Intel and AMD working on
the really tricky design and fabrication work. Even if Bob takes a vacation from
chess, the factories still work on these processors. And somebody else is
probably working on some custom backplane.

From Hsu's thesis (discussing Deep Thought - please Vincent no Hsu bashing):

"The philosophy behind the design of the Deep Thought evaluation function
hardware is a bit unusual. The overriding concerns are the circuit size and the
feasibility of future integration, possibly in a somewhat different form."
(Already thinking about Deep Blue.) "Sacrifices in the knowledge content of the
evaluation function were deemed justifiable if they simplified the circuit
design considerably."

This applies to software-only programs too of course. Compare the speed of Diep
versus Crafty. Different design philosophy.

You also might consider adding additional knowledge to custom hardware if it
fits, since it's likely that it can be done in parallel and not impact the speed
to the custom hardware.

-K



This page took 0.01 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.