Starfive VisonFive2(RISC-V SBC) で遊ぶ – その3 やねうら王を動かしてみた
debianが普通に動くようになったので、やねうら王を動かしてみました。VisionFive2のGUIは遅いので、将棋所は手元のM1 Macbook Air で動かして、リモートでやねうら王を動かします。
RISC-Vでコンパイルするための変更点
yaneurao/YaneuraOu: YaneuraOu is the World’s Strongest Shogi engine(AI player) , WCSC29 1st winner , educational and USI compliant engine.から やねうら王をダウンロードして、source/Makefile を変更。
TARGET_CPUをOTHERにして、コンパイルオプションに -march=rv64imafdc を追加しただけです。これだけで動きました。すばらしいな やねうら王。
— a/source/Makefile
+++ b/source/Makefile
@@ -52,7 +52,7 @@ YO_CLUSTER = OFF
# — Intel/AMD系 (x86/x64 Platform)
#TARGET_CPU = AVX512VNNI
#TARGET_CPU = AVX512
-TARGET_CPU = AVX2
+#TARGET_CPU = AVX2
#TARGET_CPU = SSE42
#TARGET_CPU = SSE41
#TARGET_CPU = SSSE3
@@ -63,7 +63,7 @@ TARGET_CPU = AVX2
#TARGET_CPU = ZEN2
#TARGET_CPU = ZEN3
# — ARMとか
-#TARGET_CPU = OTHER
+TARGET_CPU = OTHER
#TARGET_CPU = GRAVITON2
#TARGET_CPU = WASM@@ -587,7 +587,7 @@ else ifeq ($(TARGET_CPU),APPLEM1)
else ifeq ($(TARGET_CPU),WASM)else ifeq ($(TARGET_CPU),OTHER)
– CPPFLAGS += -DNO_SSE
+ CPPFLAGS += -DNO_SSE -march=rv64imafdcendif
ベンチマーク
やねうら王ベンチマークを実行してみました。71Knps。手元のM1だと 4Mnps-4.7Mnpsぐらい出るので桁違いに遅いです。そもそも早いCPUではないのと、CPUに合わせた最適化をしてないのでこんなもんでしょう。
$ ./source/YaneuraOu-by-gcc
bench 128 4 19
info string EvalDirectory = /home2/shin/YaneuraOu/eval
info string loading eval file : eval/nn.bininfo string USI_Hash : Start clearing with 4 threads , Hash size = 128[MB]
info string USI_Hash : Finish clearing.
Benchmark
hash : 128
threads : 4
limit : time 19
sfen : defaultPosition: 1/4
(中略)
===========================
Total time (ms) : 76178
Nodes searched : 5454137
Nodes_searched/second : 71597
Nodes searched (main thread) : 1374014
Nodes searched/second(main thread) : 18036
===========================
The bench command has completed.
対局するには
リモートのやねうら王を起動するだけのshell scriptを書いて、将棋所のエンジンとしてこのスクリプトを登録するだけです。簡単。
#!/bin/sh
/usr/bin/ssh XXXXXXXX@starfive.local '(cd YaneuraOu; source/YaneuraOu-by-gcc)’
遅いと言っても、私の棋力では手も足もでません。とほほ。
続く。
ディスカッション
コメント一覧
まだ、コメントがありません