Windows対応中…だが
bonasseをWindowsで動かしたいという方がけっこう多いようなので、ちょっとトライしてみることにしました。私は今までソフト開発はほとんどUnix系しかやってなくて、Winは素人。cygwin+gccはやってましたがまああれは別なので。ですがまあいい機会ですんでこの際やってみようか、ということでやってみました。
まずVisual C++無料版のDL+インストール。32bitしかないんですね。有料版買う気はないので、64bitはあっさり諦めです。
bontaさんやかずさんのコメントを参考に、VC++で通るようにソースを修正。いちおうコンパイル通って動くようにはなったんですが、floodgateに入れるとめちゃ弱いorz 以前の記事に書いたところで自分の環境は32bitから64bitに切り替え、その後いちおう32bitも対応入れたもののちゃんと検証してませんでした。どっかミスってるんでしょうね。
64bitの方は手元にコンパイラがないので試せてませんが、おそらくfloodgateのbonasse_980Xさんはbontaさんの(64bit)バイナリだと思われ、こちらはちゃんと強いようなので、64bitは大丈夫なんじゃないかと思います。が、なにぶん自分で試せてないので、VC++ 64bitでの使用レポート歓迎です。
32bitの調査の方もおいおい進めていきますが、他にやることもあり、こればかりやってるわけにもいかないので、いつできるかは現状ちょっとわからないです。ご了承ください。
いちおう現状のソースをここに置きます。
ところでBonanza Felizが公開されてますね。まだちゃんと見てないですが、ざっとdiffとったところ合議関連以外もけっこういじってるようなので、要チェックです。
« bonasseソース公開 | トップページ | Windows対応版うpしました »
「将棋プロセサ」カテゴリの記事
- ボンクラーズの開発過程について書いた記事が掲載されました(2019.03.07)
- 「浅い評価値を深い評価値に近づける学習法」誕生の背景(2016.10.06)
- 塚田九段の対ボンクラーズ練習棋譜を公開します(2013.09.07)
- Puella α ソース公開(2013.08.28)
- クラスタ並列の解説記事を公開します(2013.08.22)
コメント
トラックバック
この記事へのトラックバック一覧です: Windows対応中…だが:
» VS2010EE と Windows SDK [かずの心の贅肉]
Visual Studio2010では商用最下位EditionがProfessionalになったことで、フリーの Express に従来の Standard 機能がどこまで対応しているか確認。対象はVC++。
コマンドライン:対応
C/C++ Ver. 16.00.30319.01 x86のみ
アセンブラ Ver. 10.00.30319.01
x64対応(開発ターゲット):なし
MFC:なし
リソースエディタ:なし
環境的にはWindo... [続きを読む]
未確認ですが、Windows SDK に64bitコンパイラが入っているそうです。
VS2008EE + Windows SDKで64bit開発環境を構築するwebページを見たことがあります。
投稿: かず@なのは | 2010年5月15日 (土) 16時27分
32ビット版を動かしてみましたが、
64ビットとNPSは同じだけ出ますが、
bonanzaと対戦させると評価値が大きく異なっています。
評価関数を計算するところにバグがあるようです。
投稿: bonta | 2010年5月15日 (土) 17時49分
上の件ですが、evaluate.cの
#define INANIWA_SHIFT
を削除したらbonanzaと評価値が一致するようになりましたw
あと、VC++では64ビットではマクロ_WIN64がONになります。
_WIN64がONのときは_WIN32もONです。
投稿: bonta | 2010年5月15日 (土) 18時11分
上の変更を行った32ビット版を1手1秒でBonanza4.1.3と対局した結果は、
bonasse : Bonanza = 63勝 : 37勝 でした。
64/32ビットでNPSもほぼ同じ、プロファイラで+10%になるのも同じです。
以上から、拙サイトのプログラムを32ビット版に差し替えました。
投稿: bonta | 2010年5月15日 (土) 19時45分
かずさん、bontaさん、情報ありがとうございます。
>#define INANIWA_SHIFT
>を削除したらbonanzaと評価値が一致するようになりましたw
え!そ、そうですか(汗)調査ありがとうございますm(__)m しかしおかしいなぁ、今見てもなんでおかしいかわからないんだけど…まあじっくり調べてみます。
Win SDKはググったけどよくわからないですね。まあ2010は出たばっかだから、後追いで64bitが出る、とかなのかもしれません。こちらももう少し調べてみます。
投稿: A級 | 2010年5月15日 (土) 19時56分
あ、プチ将棋使うとclient_next_game()呼ばないのか。アホすぎる…>自分
投稿: A級 | 2010年5月15日 (土) 21時18分
Windows上で無料のx64開発を確認してみました。
コマンドプロンプト上ですが、Windows SDKをインストールして nmake -f makefile.vs cl でBonasseのx64ビルドが出来ました。
Windows SDK
http://msdn.microsoft.com/ja-jp/windows/bb980924.aspx
から「Windows Server 2008 および .NET Framework 3.5 用 Microsoft Windows SDK (英語)」をダウンロードして入れました。
コンパイラはVS2008相当ということで、
C++ Ver 15.00.21022.08
ASM Ver 9.00.21022.08
が入りました。x86、x64、IA64に対応しています。
投稿: かず@なのは | 2010年5月20日 (木) 01時56分
情報ありがとうございます。私は何も考えずに最新のをDLしよう、と思ったらVS2010 Expressになったんですよ。2008なら64bitもあるんですね。まあ、ということは2010もちょっと待てば64b出そうな気はしますが。
投稿: A級 | 2010年5月20日 (木) 09時45分
VS2008EE にも x64 コンパイラは入っていませんので、念のため。
うちではVS2010EE入れた後にWindowsSDK入れました。
投稿: かず@なのは | 2010年5月20日 (木) 14時44分
ExpressじゃだめでSDKを使え、ということですか。(私MSの環境ほとんど知らないです、お手数かけます)VS2010EEはいったん削除して、最新のSDKを入れなおせばいいのかな?今度手の空いたときやってみます。
投稿: A級 | 2010年5月20日 (木) 17時15分
フリーでWindowsのx64用C/C++コンパイラを使うにはSDKを使え、が解になるんじゃないでしょうか。
(バイナリを公開できるライセンスかどうかは未確認)。
インストールの際はVS2010EEはそのままで、SDKを入れて大丈夫と思います。自分がそうしたので(^^;)。
今だと「Windows SDK for Windows 7 and .NET Framework 3.5 SP1」のほうが新しそうです。
投稿: かず@なのは | 2010年5月21日 (金) 00時12分
Just want to say what a great blog you got here!
I've been around for quite a lot of time, but finally decided to show my appreciation of your work!
Thumbs up, and keep it going!
Cheers
Christian
投稿: etersesia | 2010年5月23日 (日) 17時06分