やねうら王がAndroid用のビルドに公式対応しました。(Mizarさんのおかげ)
GUIはいまのところShogiGUIなどを使うしかないですが、今後なんとかしていきたいですね。
Mizarさんによるベンチ計測も貼り付けておきます。
Nexus 6PのCPUは、Qualcomm Snapdragon 810(オクタコア、2.0GHz)
T.N.K.の評価関数、使用メモリは少ないのですが、AVX2をフル活用したコードなので他の環境だとKPPT型の評価関数の1/3ぐらいしかNPSが出ていない模様。
Android NDK でのビルド実験。
example 1: 2018 Otafuku
ndk-build ENGINE_TARGET=YANEURAOU_2018_OTAFUKU_ENGINE
bench @ Google Nexus 6P:
./YaneuraOu2018otafuku-arm64-v8a PvInterval 0 , bench 128 8 17 , quit | tee otafuku-bench.txt
===========================
Total time (ms) : 196905
Nodes searched : 67094483
Nodes/second : 340745
Nodes searched(main thread) : 8933585
Nodes/second (main thread) : 45370
example 2: 2018 T.N.K.
ndk-build ENGINE_TARGET=YANEURAOU_2018_TNK_ENGINE
bench @ Google Nexus 6P:
./YaneuraOu2018tnk-arm64-v8a PvInterval 0 , bench 128 8 17 , quit | tee tnk-bench.txt
===========================
Total time (ms) : 440846
Nodes searched : 50255802
Nodes/second : 113998
Nodes searched(main thread) : 6316091
Nodes/second (main thread) : 14327
■ 2018/05/20 23:45追記
その後、NNUE評価関数の作者の那須さんからNEON CPU用のプルリク(#77)をいただきまして、これでずいぶん高速化されるようです。(ベンチマークはのちほど…)
■ 2018/05/21 00:35追記
NNUE評価関数、NEON環境で倍ぐらい速くなった模様。凄すぎ!
bench (Hash 128, Threads 8, DepthLimit 17) @ Huawei/Google Nexus 6P:
./YaneuraOu2018tnk-arm64-v8a PvInterval 0 , bench 128 8 17 , quit | tee tnk-bench3.txt
===========================
Total time (ms) : 171129
Nodes searched : 36850854
Nodes/second : 215339
Nodes searched(main thread) : 4913481
Nodes/second (main thread) : 28712
bench (Hash 128, Threads 8, DepthLimit 19) @ Huawei/Google Nexus 6P:
./YaneuraOu2018tnk-arm64-v8a PvInterval 0 , bench 128 8 19 , quit | tee tnk-bench4.txt
===========================
Total time (ms) : 1075462
Nodes searched : 221675015
Nodes/second : 206120
Nodes searched(main thread) : 27938359
Nodes/second (main thread) : 25978
「非公式記録」だと、http://www.uuunuuun.com/cpu-benchの一番下の方にあります。スマホの場合省エネが最優先なのでdepthを深くすると時間がかかりすぎてNPSの値が低く出る傾向にあります。
Mizarさんの計測なので、省電力モードはオフだと思います…が、CPUが発熱してくるとクロックダウンすることはありそうですね。
ShogiGUI/ShogiDroid製作者( http://www.siganus.com/ , https://twitter.com/ai65536 )の方が公開していた
https://github.com/ai5/YaneuraOu/tree/android/
を元に整理しただけなので、ShogiDroid製作者の方に改めて感謝を。
おお、そうなんですか。マジ感謝です。> ShogiDroidの作者様
私もNEON対応ちょっとやってみたけど速くならなかったので誰か最適化してくれないかなと思ってましたが、対応早かったですね。
皆様に、マジ感謝です!
はじめまして、こんにちは。
当方、将棋のアマ有段者で、プログラミングは完全な初心者です。
ARMv8対応のスマートフォンのShogiDroidで動かせる、やねうら王v4.82(KPP_KKPT)の実行ファイルを生成する方法がわからないのですが、教えていただけないでしょうか。一応、Visual Studio 2017 の、必要と思われる環境は整えてあります。
そのへんは、Makefile見てわかる人向けですねー。(私もよく知らないです)
なるほど。やはりモバイル方面の知識がないと厳しいのですね。ありがとうございます!