official-stockfish/fishtest

The Stockfish testing framework

해결하는 문제

Fishtest는 체스 엔진 테스트를 위한 분산 시스템을 제공하여, 개발자가 새로운 코드 변경(패치)이 엔진의 실력 향상에 실제로 기여하는지 확인하기 위해 필요한 막대한 컴퓨팅 파워를 커뮤니티 기반으로 확보할 수 있도록 합니다.

작동 방식

이 시스템은 서버와 분산된 워커 네트워크로 구성됩니다:

  • 워커: 기여자 컴퓨터에 설치됩니다. 자동으로 엔진 소스, 현재 Stockfish 버전, 그리고 테스트 중인 패치를 다운로드합니다. 자신의 플랫폼에 맞게 코드를 컴파일하고, fastchess 매니저를 사용해 게임 배치를 실행한 후 결과를 서버로 업로드합니다.
  • 서버: 테스트 대기열과 우선순위를 관리합니다. 게임 결과에서 확률적 값을 계산하고, 통계적 유의성에 도달할 때까지 테스트를 모니터링한 후 최종 결과를 공개합니다.

대상 사용자

Stockfish의 실력을 향상시키기 위해 협력하고 싶은 체스 엔진 개발자와 CPU 기여자.

주요 특징

  • 분산 태스크 큐: 기여자들의 집단적 컴퓨팅 파워를 활용해 대규모 테스트를 수행.
  • 자동화된 파이프라인: 소스 다운로드, 컴파일, 게임 실행, 결과 보고까지 모든 과정을 자동 처리.
  • 크로스플랫폼 지원: 다양한 플랫폼용으로 워커를 컴파일할 수 있음.
  • 통계적 검증: 결과가 통계적으로 유의미해지면 자동으로 테스트를 중단.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트