Starfive VisonFive2(RISC-V SBC) で遊ぶ – その6 Bitmap命令有りでやねうら王を動かしてみた(2)
VisionFive2のCPU coreはB拡張が使えるらしいので、B拡張ありで再コンパイルしてみました。
RISC-Vでコンパイルするための変更点
作業内容は前回記事とほぼ同じです。marchの指定はbitmap命令が使えるように rv64imafdczba0p93_zbb0p93 にしました。TARGET_CPUは前回と同じくOTHERです。
これでbswap64などのintrinsic関数がBitmap命令になるので高速化が期待できます。
— 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=rv64imafdczba0p93_zbb0p93endif
ベンチマーク
前回同様にやねうら王ベンチマークを実行してみました。74K-76nps。前回71Kbpsでしたので、5%ぐらい速くなりました。
$ source/YaneuraOu-by-gcc
bench 128 4 19
info string EvalDirectory = /home/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) : 76202
Nodes searched : 5670658
Nodes_searched/second : 74416
Nodes searched (main thread) : 1446524
Nodes searched/second(main thread) : 18982
===========================
The bench command has completed.
B拡張なしだと、これ。
$ ./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.
Vector演算できるやつだとどうなるんだろ。V拡張のあるRISC-V欲しくなるな…
続く。
ディスカッション
コメント一覧
まだ、コメントがありません