Skip to content

Prebuilt binaries - paired-fused state (+174 Elo on board)

Choose a tag to compare

@Timmy6942025 Timmy6942025 released this 24 Aug 14:15
· 81 commits to main since this release

Paired-fused evaluator state, commit 31be6d3.

What changed since v0.1-prebuilt

  • Board: ~1.8x node throughput. Startpos console bench went from ~8,300 to ~14,700 average nps (~17k instantaneous), worth a measured +174 +/- 34 Elo on-device (240-game asymmetric-clock selfplay). Fixed-depth searches now match the desktop binary digit-for-digit through depth 8.
  • The evaluator was rebuilt (paired weight-row layout, fused dual-perspective delta passes, hand-written ESP32-S3 PIE update kernels with exact wraparound semantics). Desktop stays bit-exact with the previous binary - strength gate over 200 games at 2+0.02 read 39-42-119 (-5.2 +/- 30.7). Design notes: docs/paired-fused-nnue.md in the repo.
  • Fixed a long-bench bug (1 << 31 overflow made the bench quit after depth 1).
  • Board gates on this firmware: 3-game board-vs-native clean, 737-round / 16-minute 2-thread stability session clean, boot-time kernel selftests passing.

Contents

  • Dog-native - Linux aarch64 UCI engine (same target as v0.1; built from a clean checkout of 31be6d3). md5 123c6e15285b260f6d6dbebb86e78367.
  • board-flash.zip - firmware + web assets for the XIAO ESP32-S3 Plus. esp32chesstest.bin md5 77bb62cc75ea50bf7c16845e826a3686.

Flash the board

unzip board-flash.zip -d board-flash && cd board-flash
python -m esptool --port /dev/ttyACM0 write_flash "@flash_args"

Then power-cycle, join the DOG-CHESS WiFi, open http://192.168.4.1. Console users: send uci before UCI commands.

Building from source instead: see the README (ESP-IDF v5.3 via tools/setup_esp_idf.sh; verified by clean-clone build).