置換表サイズは2のべき乗以外でも確保できるようになったよ

バグってたら目も当てられないのでWCSC28が終わってからやねうら王のGitHubのほうに反映させます。

もしかしたら明日にコミットするかも知れませんが、かなりややこしい修正なのでバグっている可能性も多々あり、WCSC28参加者の方はマージしないことを強く推奨します。

検証)1スレッド1秒でHash = 3 (3MB)を指定して前のバージョンと対局させた場合、R70〜100ぐらい違う。前のバージョンでは置換表が2MBしか確保しないのに対して、このバージョンでは置換表を3MB確保できる。その差が現れる。

engine1 = YaneuraOu-2018-OtafukuV482.exe , eval = Apery20171111
engine2 = YaneuraOu-2018-OtafukuV482b.exe , eval = Apery20171111
T1,b1000,289 – 21 – 510(36.17% R-98.67) win black : white = 50.44% : 49.56%

長い持ち時間で、探索によって置換表の利用率が50%以上になるような状況だと意味がありそうです。

これで128GB搭載のPCで置換表が64GBしか確保できず、残り60GBぐらいが空きメモリのまま遊んでいるという状況が回避できるようになります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です