Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: SSE2 Instructions and hash key calculations

Author: Dezhi Zhao

Date: 06:47:07 09/03/03

Go up one level in this thread


On September 03, 2003 at 09:07:13, Anthony Cozzie wrote:

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

Please note that the new 128 bit xmm registers are in a seperate file, and you
do not need the emms instruction for SSE stuff.

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