official-stockfish/fishtest

The Stockfish testing framework

何を解決するか

Fishtest はチェスエンジンのテスト用の分散システムを提供し、開発者が新しいコード変更(パッチ)がエンジンの実力向上に実際に寄与しているかどうかを検証するために必要な膨大な計算能力を、クラウドソーシングで確保できるようにします。

動作方法

このシステムはサーバーと分散型ワーカーのネットワークから構成されています:

  • ワーカー: 貢献者のコンピュータにインストールされます。自動的にエンジンのソースコード、現在の Stockfish バージョン、およびテスト中のパッチをダウンロードします。自身のプラットフォームに最適化されたコードをコンパイルし、fastchess マネージャーを使ってゲームのバッチを実行し、結果をサーバーにアップロードします。
  • サーバー: テストキューと優先度を管理します。ゲーム結果から確率論的な値を計算し、統計的有意性に達するまでテストを監視し、その時点で最終結果を公開します。

対象ユーザー

Stockfish の実力を向上させるために協力したいチェスエンジン開発者および CPU 貢献者。

特徴

  • 分散タスクキュー: 貢献者の集団を活用して大規模なテストを実施。
  • 自動化パイプライン: ソースのダウンロード・コンパイルからゲーム実行・結果報告までをすべて自動処理。
  • クロスプラットフォーム対応: ワーカーは異なるプラットフォーム用にコンパイル可能。
  • 統計的検証: 結果が統計的に有意になるまで自動でテストを停止。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト