Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: SSE2 Instructions and hash key calculations

Author: Anthony Cozzie

Date: 07:34:52 09/03/03

Go up one level in this thread


On September 03, 2003 at 09:47:07, Dezhi Zhao wrote:

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

none of which impacts anything that i said.

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