Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: SSE2 Instructions and hash key calculations

Author: Anthony Cozzie

Date: 06:07:13 09/03/03

Go up one level in this thread


On September 02, 2003 at 16:52:24, Dezhi Zhao wrote:

>Hi!
>
>I know that some programmers here have played with MMX/SSE/SSE2 quite a lot. I
>am wondering if the new SSE registers and xor op can beat the regular registers
>in calculating the hash key that are 64 bit operations. Have anybody tried this?
>
>Regards,
>dzhao

  Generally speaking the 64 bit mmx/mmx2 operations don't help chess programs
because mmx is on the floating point pipe; to transfer data between the integer
& floating point pipes is something like 5-10 cycles each way; or if you go
through memory you have store-load stalls of a similar amount.  Plus, the
regular integer pipe is actually pretty fast at bitboard computations because 2
32bit ANDs can go down the pipeline together.

  It only makes sense if a significant amount of work is being done, like in
Gerd/Steffan's floodfill routines for example.  Computing the hash key is a
*very* cheap operation: two (maybe 3) times per make_move, lookup a 64 bit table
value and XOR.

anthony




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.