Locklessハッシュをやっている?
hash.cより
word2 = ( ( HASH_KEY & ~(uint64_t)0x7fU ) | (uint64_t)( (turn<<6) | ( state_node & node_mate_threat ) | (value_type<<3) | trans_table_age ) ); word1 = ( ( (uint64_t)( depth<<16 | (value+32768) ) << 40 ) | ( (uint64_t)( move & 0x7ffffU ) << 21 ) | HAND_B ); index = (unsigned int)HASH_KEY & hash_mask; hash_word1 = ptrans_table[index].prefer.word1; hash_word2 = ptrans_table[index].prefer.word2; SignKey( hash_word2, hash_word1 ); age_hash = (int)((unsigned int)(hash_word2 ) & 0x07U); depth_hash = (int)((unsigned int)(hash_word1>>56) & 0xffU);
違う違う。単なるハッシュの参照だった。感違いです。失礼
grep lock *.c
したら普通にlockしてた(^^;
Re: [computer-go] Lockless hash table and other parallel search ideas
http://www.mail-archive.com/computer-go@computer-go.org/msg07613.html