技巧2調べ(ベンチマーク編)

技巧2にはベンチマークコマンドが用意されているが,公式配布バイナリは学習部と共に無効化されている。

Linux環境を構築して自前ビルドすればいいのだが,まぁそれも面倒なのでどんなベンチマークをしてるか確認して,それをコマンドラインから同じことをやってもいいのじゃないかと思ってる。

以下がcli.ccの一部。

/**
* 探索のベンチマークを行います.
*/
void BenchmarkSearch() {
// いわゆる「指し手生成祭り」局面
Position pos = Position::FromSfen(
"l6nl/5+P1gk/2np1S3/p1p4Pp/3P2Sp1/1PPb2P1P/P5GS1/R8/LN4bKL w RGgsn5p 1");
Node node(pos);

// 30秒間の探索を行う
UsiOptions usi_options;
Thinking thinking(usi_options);
UsiGoOptions go_options;
go_options.byoyomi = 30000;
thinking.Initialize();
thinking.StartNewGame();
thinking.StartThinking(node, go_options);
}

要するに指し手生成祭の局面で秒読み30秒で探索しろってことだ。

ということで以下のコマンドと同等となる。

usi

isready

usinewgame

position sfen l6nl/5+P1gk/2np1S3/p1p4Pp/3P2Sp1/1PPb2P1P/P5GS1/R8/LN4bKL w RGgsn5p 1

go btime 0 wtime 0 byoyomi 30000

まぁ,何がしたいかってことなんだがfloodgateのgikou2_1cがryzen7 1700の1スレッドだってことらしいので,上記コマンドにスレッド制限入れて計測してみました。

手元にはryzen7 1800Xしか無かったのでクロック3.6GHzで制限を入れました。

結論は700knps強ってことでした。

古いノートパソコンの2コアで丁度これくらいじゃないでしょうか。

floodgateのレートと何かを比較したいときの参考にしてみてください。

 

参考に以下のサイトではryzen7 16コア使ってこの11倍程度のnpsが出るとあります。

--benchコマンドで約7.7Mnpsでしたのでほぼ同じ比率かと思います。

www.uuunuuun.com

---

4/7 追記

i5-2410Mで840knpsを確認。

2割ノード数増加でレート20程度,探索部でレート20程度,評価関数でレート70程度の向上が見込まれる。

今流しているtest_i5-2410Mが改造した技巧なのでレートが3300の110くらい上になる予定。

最初マシン設定などで変な負け方してたのでちょっと落ち着くのに時間かかるかも。