昼行灯行状記 Ver.6
とあるフリー編集者の日常

Macで将棋検討を行う2通りの方法

6月 22nd 2021 in Mac, shogi
[`evernote` not found]


1月に将棋所で検討してるという記事を書き、そのうちビルド方法など書こうと思いつつ、なんだかんだと以来半年も経ってしまいました。4月に指導員資格試験(といっても1次免除で面接のみ)を受け、指導員としての活動も始まりました。

週2で将棋教室の担当日があるので、そのときに教室のPCで検討してもいいのだけど、やっぱり自宅のMacで検討・解析をしたい…と思っていたところ、Facebookで西川さんがWineskinServerの記事をPC Watrchに書いたと言ってたのを見て、将棋GUIをM1 MacBook Airで動作させることができました。

以下にMacで将棋ソフトを使って検討する方法をまとめてみます。詳細は個別の記事を参照してください。

将棋所でMacで動作するバイナリをビルドして使う

 詳細記事はこちら

 1つめは、探索部(やねうら王)をソースからビルドして、GUIは将棋所Macを使うという方法。Makefileを書き換えるだけでBig Surならそのまま通る(High Sierraではg++のインストールなどちと面倒だった)ので、xcodeがすでに入ってればこちらがお手軽かもしれません。ソースからのビルドなので、最新のやねうら王を使えるというメリットもあります。

GUIは将棋所を使うので、そこで好き嫌いが出るかもしれません。また、ビルドもAppleSiliconネイティブではなく、Rosetta2を用いたx86バイナリのビルド方法になります。

 

※ソースの修正でAppleSiliconネイティブでのビルドも可能ですが、現状ではビルドできるというレベルの修正しか行っていないので、Rosetta2を使う方が現状では速いと思います。Rosetta2優秀。




WineskinServer経由で将棋GUIを動かしWindowsバイナリを使う

西川さんの記事を参考に将棋GUIをWinskinServerで動かすことができ、エンジンの設定も行えたので、メモとして残しておきます。

詳細記事はこちら

こちらは将棋GUIを動作させるまでが一手間ですが、Windows用のバイナリをそのまま使うことができ、機能が豊富な将棋GUIをそのまま使えるというメリットがあります。

 

※本文内で用いている棋譜は、上田現女流四段(当時女流三段)との角落ちの棋譜です(2014/11/24対局)

 






required



required - won't be displayed


Your Comment:

M1 MacBook Airで探索部としてやねうら王6.00をビルドした水匠2(ただしx86バイナリでRosetta2使用)と将棋所Mac、さらにiMobie M1 App Checker経由で将棋連盟Liveもインストールし、棋譜中継を見ながらの検討テスト。

前のメインマシンがiMac (mid 2011)だったので、ネイティブでなくても大幅向上したのがうれしい(といっても世間並みなんだろうけど)。

早くApple Siliconネイティブでビルドできるようにならないかな。

Previous Entry

やねうら王のソースをビルドする
GitHub/yaneurao/Yaneuraouからやねうら王のソースをダウンロード
AppleSiliconのMacで、Rosetta2を使う場合は、Rosetta2がAVXサポートしていない(SSE4.2まで)ので、MakefileのTERGET_CPUの項目をSSE42に変更(新しめのIntel Macではそのままでok)

#TARGET_CPU = AVX2
TARGET_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が出てません。誰かえらいプログラマのひと、なんとかして欲しいなぁ……。

Next Entry

Blogroll