FFOテストは
French Federation of Othelloで作成され、終盤解析用ベンチマークとして広く用いられています。
テストでは、終盤解析が比較的困難な局面を対象として最善手探索に要する処理時間を計測します。
(本テストでは、完全読みによる処理時間を計測しています)
Ver1.5.1では、標準バイナリとは別に提供していたAVX2版の処理コードを標準バイナリに統合しました。
このため、AVX2命令が利用可能なPCでは、自動的にAVX2命令を使った高速コードが動作します。
AVX2命令を利用できないPCでも、AVX2版開発時に改良されたコードが動作する様になりました。
更に、従来は、テスト時に評価データが不得意な局面を評価していた懸念がありました。
このため、Ver1.5.1では評価データにFFOテスト時に発生する局面を追加学習させた結果を反映しています。
上記の結果として、Ver1.5.1では、AVX2命令が利用できないPCでは、従来版よりも、かなり高速化された筈です。
また、AVX2命令が利用できるPCでも、従来のAVX2版よりも高速に動作する筈です。
このため、本測定では、Ver1.5.1と従来のAVX2/64Bit版の性能を測定し、それらを比較します。
また、比較用には、Ver1.5.0時と同様に、知名度があり、終盤解析も高速な
Edaxの最新バージョン(4.4)のデータも採取して載せています。
AVX2命令が利用可能なPC用には、
Edax + Unified Book 2010の作者であるOkuhara氏による、より高速な
AVX2版を使用しています。
AVX2命令を使った処理コードはHaswell以降の64Bit環境でのみ動作します。
測定に使用したオリジナル版EdaxはVer1.5.0の測定時と同じ4.4ですが、AVX2版は最新の2018年4月27日版に更新しています。
EdaxのAVX2版と32Bit版については
Edax + Unified Book 2010に同梱されているバイナリを使用しています。
FFO60-79については、64Bit版8スレッド動作時にも1時間以上を要するため、より低速となる条件での測定は行っていません。
逆に、より高速に処理が行える事が期待されたMRWorkerを使った場合の性能については追加して測定しています。
旧バージョンでは異なる観点に基づいた性能測定も実施しています。
興味のある方は以下のリンクから参照してみて下さい。
Ver1.5.0の測定結果、
Ver1.4.1の測定結果、
Ver1.4.0の測定結果、
Ver1.0.2の測定結果、
Ver1.0.0の測定結果
AVX2命令が動作しないPC (Gateway製デスクトップPC [Corei7-2600]) での測定結果
FFO40-59
FFO60-79
AVX2命令が動作するPC (MacBook Pro 15インチ 2016モデル [Corei7-6700HQ]) での測定結果
FFO40-59
FFO60-79
・測定値はFFO40-59/FFO60-79の全項目にかかった時間です。(測定値は素データへのリンクになっています)
・各測定値には単一測定の結果を使用しているため、OS等によるバックグラウンドタスクの影響から若干の誤差が含まれます。
・マルチスレッド動作時には評価タスクの終了順が変動する結果、測定毎に比較的大きな性能変動が発生する場合があります。
・Ver1.5.1 - 64Bit (旧データ)では、64Bit版Ver1.5.1で評価データのみVer1.5.0用に変更して測定しています。
・Ver1.5.1 - MRWorkerでは、他方のPCで動作するMRWorkerに接続し、それぞれで8スレッドを動作させています。(合計16スレッド)
・Gateway製デスクトップPCのOSは64Bit版Windows7、MacBook Pro 15インチ 2016のOSは64Bit版Windows10です。
・カッコ内の数値はVer1.5.1の64Bit版の処理時間を1.0とした場合の処理時間の倍率です。(値が大きいほど低速)
・Ver1.5.1 - 64Bitは、スレッド数が大きい場合に、Ver1.5.1 - 64Bit版 (旧データ)よりも高速になっています。
→評価データの更新はスレッド数が大きい場合に効果が出ていると考えられます。(並列演算用の局面分割に貢献)
・Ver1.5.1 - 64Bit版 (旧データ)は、スレッド数が大きい場合に、Ver1.5.0 - 64Bit版よりも高速になっています。
→Ver1.5.0開発後に行った評価演算処理の改良はスレッド数が大きい場合に有効に働いていると考えられます。
・AVX2命令が動作しないPCでは、Ver1.5.1の性能がEdaxの性能よりも高くなっています。
→MasterReversiでは最新の改良がAVX2命令が動作しないPCでも有益に働いている為と考えられます。
・AVX2版Edaxとの比較では、FFO40-59では、若干、MasterReversiが高速になっています。
→FFO40-59は局面評価が簡単であるため、この点では違いが生じず、基本コードの速度の違いが反映されたと考えられます。
・AVX2版Edaxとの比較では、FFO60-79では、AVX2版Edaxが高速になっています。
→FFO60-79では局面評価が複雑な項目があり、そんな局面での評価が優秀な分、AVX2版Edaxが高速になったと考えられます。
→ただし、64Bit版同士の比較ではMasterReversiが高速であるため、EdaxではAVX2版の改良効果が非常に大きいとも言えます。
・MRWorkerを使用した場合、AVX2版EdaxよりもMasterReversiが高速になっています。
→MRWorker使用時には、PC2台分のCPUを利用した分、1台分のCPUしか利用しなかったEdaxよりも高速になったに過ぎません。
→ただし、Edaxは複数PCを利用できませんので、複数PCを利用できる環境では、MasterReversiの方が高速処理が可能です。
TOPページに戻る