ダウンロード
ダウンロード/過去の記録 †
実行ファイル (Binary) †
2010/09/12 (Sep 12th, 2010) r2410 (osl r4210) †
主な変更点
- 長時間の探索(1600=8/14や1800=9/16以上)の効率改善
- 長時間の探索で、詰み探索を必要以上に行なっていた不具合を修正
- 局面表のGC (ガーベジコレクション)を導入して、メモリが逼迫する状況でも多少は探索を続けられるように改善
- 評価関数を微調整
参考NPS
- 測定環境
- A. Windows Vista: Core2Duo T9300 2.5GHz(32-bit 2コア)
- 実行方法
- $ ./gpsshogi --benchmark-single
環境 | OS | Instruction Set | SMP | NPS |
A | Windows | pentium4 | single | 83,434 |
A | Windows | pentium4 | smp | 136,177 |
2010/03/04 (Mar 4th, 2010) r2265 (osl r4116) †
主な変更点
- メモリアロケータをIntel TBBからboost::fast_pool_allocatorに変更 (Windows版のみ)
- gpsusiのオプション追加
- MultiPVWidth 0 最善手以外も手順を表示(0は最善手のみ扱う、数値が大きいほど他の手も考慮するが遅くなる。検討用。)
- InputLogFile? usiの入力をファイルに保存する (基本的にデバッグ用途。gpsusi同士の対戦では利用できない)
- ErrorLogFile?? 標準エラー出力をファイルに保存する (基本的にデバッグ用途。gpsusi同士の対戦では利用できない)
- usiモードでパスの表記を、resign (一応将棋所版プロトコルに登場する指手以外の文字列)から pass に変更
- 評価関数を微調整
参考NPS
- 測定環境
- A. Windows Vista: Core2Duo T9300 2.5GHz(32-bit 2コア)
- 実行方法
環境 | OS | Instruction Set | SMP | NPS |
A | Windows | pentium4 | single | 81,341 |
A | Windows | pentium4 | smp | 161,071 |
2009/12/05 (Dec 5th, 2009) r2181 †
主な変更点
- USI拡張プロトコルの詰将棋コマンドに対応 ただし、深さ256手までで、攻め方最短手順は実装されていない。並列動作。
- USIプロトコルのGUIから探索深さや並列度を指定可能に
- 主に並列版のメモリの節約
- USIプロトコルを無視したponderに対応
- 相手の時間中の思考を有効にすると、表示なしで思考する
- ponderを行うとメモリを約二倍使うので注意
参考NPS
- 測定環境
- A. Windows Vista: Core2Duo T9300 2.5GHz(32-bit 2コア)
- 実行方法
環境 | OS | CPU | SMP | NPS |
A | Windows | pentium4 | single | 92,449 |
A | Windows | pentium4 | smp | 172,370 |
2009/09/23 (Sep 23rd, 2009) r2130 [released at Oct 3rd] †
主な変更点
- 形勢判断の微調整, 詰み探索等での様々な細かいbugの修正
- 読み筋中の詰み探索を強化して簡単な頓死は避ける
- Linux以外にも、Microsoft Windows, MacOSX でも、使用メモリの監視を行う。
- ノード数制限を無視し、{時間、深さ、メモリ使用量}のいずれかが限界に達するまで考えつづける
- gpsusi は、GUIから指定されたハッシュの大きさに従う => 大きな指定の方が深く読める (対局に不具合が生じるため300MB以下に指定しても無視され、300MBに設定される)
- 指定された秒数考えない時はハッシュの大きさの指定を増やしてください
- Microsoft Windows 環境での並列動作改善 (Intel Threading Building Blocksのtbbmallocを利用)
- gpsshogiの細かいオプション追加 --sleep-at-exit, --node-count-hard-limit (ノード数指定で対局), --eval-randomness (主に合議向けに形勢判断に乱数を加える)
- ソースコードをUTF-8に変更
参考NPS
- 測定環境
- A. Windows Vista: Core2Duo T9300 2.5GHz(32-bit 2コア)
- A'. Linux pentium4: Core2Duo T9300 2.5GHz(32-bit 2コア)上のVMWare (Debian)
- B. Linux amd64: AMD Athron 64 X2 4200+ (2.2GHz) Debian
- C. Mac core2: Mac Book Core2Duo 2GHz (MacOSX 10.6.1)
- 実行方法
- $ ./gpsshogi --benchmark
- 以前指定が必要だった-e testは、現在はデフォルト設定です。
環境 | OS | CPU | SMP | NPS |
B | Linux | amd64 | single | 76,366 |
B | Linux | amd64 | smp | 152,283 |
A' | Linux | pentium4 | single | 94,996 |
A' | Linux | pentium4 | smp | 168,785 |
A | Windows | pentium4 | single | 93,686 |
A | Windows | pentium4 | smp | 164,830 |
C | Mac | core2 | single | 98,597 |
C | Mac | core2 | smp | 169,534 |
2009/06/24 (June 24th, 2009) †
主な変更点
- (linux版のみ) gpsshogi_viewerというGUIを追加 (要qt) 使い方/viewer
- 並列版での詰探索の不具合修正
- 自身のメモリ使用量が分かる環境(linux版では/proc/self/statm)では、ノード数制限を無視し、{時間、深さ、メモリ使用量}のいずれかが限界に達するまで考えつづける
- GUIから指定されたハッシュの大きさに従うようになったため、defaultの32Mバイトだとすぐに使い尽くして(早指しだったり投了したり)不安定になります。200MB以上が目安で、増やしただけ長考できます。とはいえ物理メモリの8-9割程度までが無難です。
- LANG=ja_JP.eucJP 等で起動すると、読み筋を「△5八銀成」等日本語で表記 (端末の環境をeucに揃えておく必要あり)
2009/05/26 (May 26th, 2009) †
インストーラーを作成しましたので、こちらをご利用いただくのが便利です。single版とSMP版の両方がC:\Program Files\gpsshogi にインストールされます。インストール後、適切な方をご使用ください。(GUIはインストールされません。各自別途インストールしていただく必要があります。)
以前のバージョンをお使いのかたは、削除してからインストールされるとよいでしょう。
- データファイル, バイナリファイル
- OSL_HOME環境変数
の削除が必要です。
2009/05/17 (May 17th, 2009) †
5/18 Windows版はXPで動作しないことが分かりました。現在調査中ですが、修正後改めて公開しようと思います。早速試して頂いたかたに感謝いたします。
2009/05/06のLinux Pentium4 SMP版に不具合がありましたので(SMPが有効ではありませんでした)、こちらをどうぞ。
2009/05/06 (May 6th, 2009) †
amd64が64-bit版、pentium4が32-bit版です。
パフォーマンスについて †
2009/05/17日版のソースコードは、大きな変更はありませんが、2009年5月の選手権当時より多少開発が進んでいます。
選手権で使用したバイナリは、ここで配布されているバイナリとは違い、プロファイルを利用した最適化をするなど、時間をかけてコンパイルされました。そのため、Linux配布版は、NPS値にして、選手権版よりも20%程度遅くなっています。さらに、Windows配布版では、一部最適化を抑制するなどしてコンパイルされていますので、Linux配布版よりも遅くなっているはずです(同一のマシン環境がないため数字での比較はできておりません)。
参考NPS値をあげます。
Core2Duo T9300 2.5GHz(32-bit 2コア)のノートPC上で実験しました。
Windows VistaがホストOS。 その上で、VMWareのLinuxがゲストOSとして動いています。
ベンチマーク方法
バイナリ内部に記録されている局面に対して、次の手を探索する速度を見るものです。30秒ほどかかります。さまざまな情報が出力されますが、nodes/secの値を見ます。
./gpsshogi.exe -v -e test --benchmark
SMP版では、-Nによりコア数を指定できます。デフォルトはマシン上の全コアです。
./gpsshogi.exe -v -e test --benchmark -N 2
なお、"-e test"は、名前に反して重要で、学習による新しい評価関数を使用するモードです。
- Windows版
- single版 95,717 nodes/sec
- SMP版 158,735 nodes/sec
- Linux版
- single版 98,901 nodes/sec
- SMP版
- 1コア使用 108,472 nodes/sec
- 2コア使用 175,914 nodes/sec
- 上記ノートPCとは関係ありませんし、上記ベンチマークの結果でもないのですが、参考までに。
- Floodgateで動いてるgps_l(1コア) 10万NPS程度
- 選手権マシン 120万-190万NPS程度(局面によって異なります)(8コア。選手権仕様のビルド)
NPS値の注意:
- GPS将棋が計測するNPS値には、詰将棋による局面も含まれます。他の将棋プログラムのNPS値とは意味合いが異なると思いますので、比較できません。
- 特にSMP上では、NPS値が2倍になったからといって、<強さ>が2倍になるわけではありません。
- 特に現時点のGPS将棋の場合では、逐次版と並列版で詰将棋の振る舞いやノード数が異なります
ソースコード (Source) †
2010/09/12 (Sep 12th, 2010) r2410 Windows版 †
2010/03/04 (Thu 4th, 2010) r2265 Windows版 †
2009/12/05 (Dec 5th, 2009) †
2009/09/22 (September 23th, 2009) †
2009/06/24 (June 24th, 2009) †
2009/05/26 (May 26th, 2009) †
2009/05/17 (May 17th, 2009) †
2009/05/06 (May 6th, 2009) †
2009/12/05版以前の依存ライブラリ †
依存ライブラリ †