Skip to content

Commit

Permalink
V4.58 各CPU用実行ファイル
Browse files Browse the repository at this point in the history
  • Loading branch information
yaneurao committed May 16, 2017
1 parent 87869e1 commit 39ef49e
Show file tree
Hide file tree
Showing 8 changed files with 140 additions and 4 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -44,6 +44,7 @@ bld/

# Visual Studio 2015 cache/options directory
.vs/
enc_temp_folder

# MSTest test Results
[Tt]est[Rr]esult*/
Expand Down
34 changes: 31 additions & 3 deletions docs/更新履歴.txt
Expand Up @@ -2,14 +2,42 @@
やねうら王 更新履歴


■ 2017/05/17 V4.58

・lanceEffect()はrookFileEffect()を使うように変更。
・飛車の利きを求めるための利きテーブルを無くした。
・飛車の利き用のテーブルさらに小さくした。
・角の利き用のテーブル小さくした。
・working memory、だいぶ減ったかも。置換表を小さくすればいままでせ動かなかったスマホでも動くかも。


■ 2017/05/16

・Learner::search、max_game_plyの値を変更しないようにした。
・Limits.max_game_plyに一本化していたの、やめた。
・MaxMovesToDrawを0に設定されたとき内部的にINT_MAXにしていたの、100000に変更。
・is_ready()のなかでSignals.stopなどの変数を初期化するように変更。
・Stockfish
- Execute an implied ucinewgame at startup
・position::gives_check() リファクタリング。
・position.cpp reformatting
・ベンチマークだけTEST_CMDから移動させる。これは常に必要。
・reformatting position.h
・step effectリファクタリング
・Position::attackers_to()、高速化。
・prefetch()にassert追加。
・NextSquareテーブル、u8に変更。
・mate1ply_without_effect.cpp reformatting
・pawnEffect(Color,Bitboard)追加。Shift<>(Bitboard)削除。
・歩の打てるところを調べるコード、テーブルを2つに分割。先後の区別なしにする。
・Bitboard(u64,u64)のSSE2用コードを追加。


■ 2017/05/15 V4.57

・検討モード用の読み筋出力として、ConsiderationMode "検討モード用のPV出力" を用意。
・テスト用に"test search"コマンド追加。
・SILVER_HDK、GOLDS_HDK追加。
・Learner::search、max_game_plyの値を変更しないようにした。
・Limits.max_game_plyに一本化していたの、やめた。
・MaxMovesToDrawを0に設定されたとき内部的にINT_MAXにしていたの、100000に変更。


■ 2017/05/14 V4.56
Expand Down
109 changes: 108 additions & 1 deletion docs/開発メモ2017.txt
Expand Up @@ -5,11 +5,113 @@
- PPAP評価関数
- FP型(2GB)
- SP型(6GB)
- EP型(16GB)
- elmoの学習ルーチン、取り込む。
- 読み太のソースコード調査する。


## 2017/05/17

- lazySMPで4コアのときに8Tと4Tとどちらがいいか微妙。計測したほうがいいような。


・角のテーブル小さくすることを考えたほうがいいかも。
- した

Nodes/second : 816502
Nodes/second : 822704
// 変わらないのでこれでいく。

Total time (ms) : 31455
Nodes searched : 107911684
Nodes/second : 3430668
Nodes searched(main thread) : 13632956
Nodes/second (main thread) : 433411


・飛車のテーブルさらに小さくした。
Nodes searched : 20361112
Nodes/second : 823136
// SSE4.1
Nodes/second : 689646

・飛車のテーブルさらに小さくした。
Nodes/second : 820384

・角と飛車のテーブル、大きいのでなんとかする。この変なテーブル使うのやめる。
角はそんなに大きくないのか。飛車をまずなんとかする。

飛車のテーブル消したが、ほぼ速度変わらない。
Nodes/second : 811652
Nodes/second : 816927

Total time (ms) : 24635
Nodes searched : 84955436
Nodes/second : 3448566
Nodes searched(main thread) : 10999930
Nodes/second (main thread) : 446516


・lanceEffect()はrootFileEffect()を使うように変更。

// 8T
Total time (ms) : 13327
Nodes searched : 46596805
Nodes/second : 3496421
Nodes searched(main thread) : 5807426
Nodes/second (main thread) : 435763

Total time (ms) : 18130
Nodes searched : 63283390
Nodes/second : 3490534
Nodes searched(main thread) : 7985854
Nodes/second (main thread) : 440477


- 歩の打てるところを調べるコード、テーブルを2つに分割。先後の区別なしにする。

- pawnEffect(Color,Bitboard)追加。Shift<>(Bitboard)削除。

- NextSquareテーブル、 u8に変更。
Nodes/second : 829271
// ほぼ変わらず


## 2017/05/16

・Moveのdropのときのfrom、SQ_NB + Pieceにしたほうが使い勝手が良いのでは…。
Piece自体はmoved_piece_after()で取得できるわけで…。
// 善悪微妙なのでこの改造はいいや。

- attackers_to()改良。

Nodes searched : 20361112
Nodes/second : 825004
// ほぼ変わらず。

・reformatting position.h

・玉以外SQ_NBに移動させることはないので、ここの利きとか配列、不要。
→ 王手になる指し手を生成するために王(SQ_NB)からの利きを見るので、そう簡単でもないのか。

・ベンチマークだけTEST_CMDから移動させる。これは常に必要。


・position::gives_check() リファクタリング。
共通化できて、少し速くなった。(かも)


・EVAL_LEARN、オフにしたほうが高速化する気がする。余計なコードが減って、コードが詰められるからか?
Nodes searched : 20361112
Nodes/second : 831473
test cmdもなくしたほうが速くなるかも知れないが、benchコマンドもなくなるのでテストできなくなる。

・Stockfish
- Execute an implied ucinewgame at startup
- 将棋だとusinewgameではなくisreadyに対して初期化しているのでそちらのコードを整理。

・Learner::search、max_game_plyの値を変更しないようにした。
・Limits.max_game_plyに一本化していたの、やめた。

// -- MAX_PLYに到達したかの判定が面倒なのでLimits.max_game_plyに一本化する。

// あとで戻す用
Expand Down Expand Up @@ -411,10 +513,15 @@ Nodes/second : 778821
int table[SQ_NB + 7][SQ_NB][COLOR_NB];
でいい。修正。


- もしかして、positionクラスで、
Bitboard piece_bb[PIECE_TYPE_BITBOARD_NB][COLOR_NB];
色別に持たないほうが良いのでは…。大改造になるが高速化のために変更してみる。

Nodes searched : 20361112
Nodes/second : 813598
// 結果、変わらない気がする。

- piece_bb[][]を直接参照しているところをPosition::pieces()経由でアクセスするように変更。

// 改良前
Expand Down
Binary file modified exe/2017Early/YaneuraOu-2017-early-nosse.exe
Binary file not shown.
Binary file modified exe/2017Early/YaneuraOu-2017-early-sse2.exe
Binary file not shown.
Binary file modified exe/2017Early/YaneuraOu-2017-early-sse41.exe
Binary file not shown.
Binary file modified exe/2017Early/YaneuraOu-2017-early-sse42.exe
Binary file not shown.
Binary file modified exe/2017Early/YaneuraOu-2017-early.exe
Binary file not shown.

0 comments on commit 39ef49e

Please sign in to comment.