Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Reverse Bitboards

Author: Russell Reagan

Date: 17:17:36 01/13/03

Go up one level in this thread


On January 13, 2003 at 18:30:05, Matt Taylor wrote:

>I think the real bottleneck would be the misjudgement of the speed of MMX. It is
>not as fast to respond as the integer units, though it maintains similar
>throughput. Using MMX for 64-bit arithmetic is not worthwhile as the same
>operations are available from the integer unit with lower setup costs. The only
>advantages include a minor gain in parallelism in hand-tweaked code and
>additional register space.

Apparently if you use MMX correctly, it will be significantly faster than the
corresponding routine written in C (if it relies on 64-bit operations). The
primary example that comes to mind is that Gerd uses MMX in IsiChess to do
64-bit operations in the KoggeStone algorithms. He said it gave him a small
speed increase. Compare that with the same routines written in C, and the C
routines will be significantly slower. I know this because I wrote a program
using those routines in C and it got about 70 knps (compare with Crafty
300-500knps), and all it did was alpha-beta, material + mobility eval, and
nothing else. I tried several bitboard implementations, and the common factor in
the slow ones was the C KoggeStone attack generation. Gerd didn't experience
such a significant speed hit when he used his MMX routines. So it does appear
that there is a misjudgement of the speed of using MMX, but I'm not sure whether
it is an underestimation or overestimation.



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.