Macで将棋検討 – 将棋所Macを使う
やねうら王のソースをビルドする
GitHub/yaneurao/Yaneuraouからやねうら王のソースをダウンロード
AppleSiliconのMacで、Rosetta2を使う場合は、Rosetta2がAVXサポートしていない(SSE4.2まで)ので、MakefileのTERGET_CPUの項目をSSE42に変更(新しめのIntel Macではそのままでok)
#TARGET_CPU = AVX2TARGET_CPU = SSE42
コンパイラをg++に変更(もちろんxcode入ってますよね?)
COMPILER = g++#COMPILER = clang++
※macOS 11 (BigSur)ではg++にするだけでok、macOS 10.xでは別途g++の最新版を入れる必要がありそう。詳細は検索してください。
追記2022-01-07:やねうら王V7.00
やねうら王7.00では、TERGET_CPU=M1 でM1 Mac用バイナリがビルド可能になったようです。この場合、ターミナルはRosettaを使わずそのまま立ち上げてビルドします。
あとはmakeするだけ……なのだけど、Intelバイナリでビルドする必要があるため、ユニバーサルバイナリのターミナル.appを明示的にRosettaを使用して開く必要があります。
ターミナルの情報を表示し、「Rosettaを使用して開く」にチェックを付けてターミナルを開きます。
makeを実行。YaneuraOu-by-gccという実行ファイルがビルドされます。
これを開いて動作確認。ターミナルウインドウにusiと入力し、リターン。「usiok」と返ってくれば動作確認完了です。
エンジンのフォルダ構成はWindowsと同じようにして、Windowsの実行ファイル(.exeファイル)の代わりにビルドしたバイナリを置きます。
engine_name.txtを評価関数や探索部に合わせて変えておきます。図は探索部にやねうら王6.03を使った水匠3改で、M1 MacのRosetta2で動作させることもあり、「Suisho3Kai/YO6.03_NNUE_Rosetta2」としています。
将棋所Macをダウンロード
将棋所Macをダウンロード・インストールします。High Sierra以降で使えます。
エンジン設定からビルドしたエンジンを設定すれば、検討・解析が行えます。
おまけ:ARM64バイナリでビルドする
source/extra/bitop.hの174行目の#elif文の最後に、
|| defined(__arm64__)
を括弧の数に注意して追加すれば、一応ARM64でのバイナリをネイティブのターミナルから通せる…けど、恐らくは浮動小数点演算の専用命令を使ってないため、Rosetta2使用よりNPSが出てません。誰かえらいプログラマのひと、なんとかして欲しいなぁ……。