official-stockfish/fishtest

The Stockfish testing framework

解决的问题

Fishtest 提供了一个用于测试棋类引擎的分布式系统,使开发者能够通过众包方式获取大量计算资源,以验证新的代码更改(补丁)是否真正提升了引擎的棋力。

工作原理

该系统由服务器和分布式工作节点网络组成:

  • 工作节点: 安装在贡献者计算机上。它们会自动下载引擎源码、当前 Stockfish 版本以及待测试的补丁。在各自平台上编译代码,使用 fastchess 管理器运行游戏批次,并将结果上传回服务器。
  • 服务器: 管理测试队列和优先级。从游戏结果中计算概率值,并持续监控测试,直到结果达到统计显著性,此时发布最终结果。

适用人群

希望协作提升 Stockfish 棋力的棋类引擎开发者和 CPU 贡献者。

主要亮点

  • 分布式任务队列: 利用贡献者群体进行大规模测试。
  • 自动化流水线: 自动处理从源码下载、编译到游戏执行和结果报告的全部流程。
  • 跨平台支持: 工作节点可编译为不同平台版本。
  • 统计验证: 一旦结果达到统计显著性,自动停止测试。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目