Skip to content

SimpleChess v3.1.0

Choose a tag to compare

@LinkLikesLattes LinkLikesLattes released this 07 Sep 13:48
· 12 commits to main since this release

SimpleChess 3.1.0

Syzygy tablebases, and a much faster engine on both Apple Silicon and x86-64 — with a search that is bit-for-bit the same as 3.0.0's.

Strength: +77 Elo over 3.0.0. Head-to-head vs SimpleChess 3.0.0 — 612 games at 10s+0.1s, 1 thread, 256 MB hash, paired openings: +173 =400 −39 (61.0%), Elo +77 [+63, +92], LOS 100%. The gain is speed turned into depth: every change below was verified to produce the same nodes, score and PV at fixed depth as 3.0.0.

  • Syzygy endgame tablebases (via Fathom, MIT). Interior WDL probing behind SyzygyPath, SyzygyProbeDepth, SyzygyProbeLimit and Syzygy50MoveRule; tbhits reported in the info line. Probing stays off until SyzygyPath is set.
  • x86-64 / AVX2 speed pass. AVX2 kernels for the int8 L1 dot product, the fused accumulator updates, the L2 layer and its epilogues; single-pass make/refresh; child-key transposition-table prefetch; 64-byte-aligned weights; large pages on Windows; PEXT magics; PGO. About 2.3× the node rate of 3.0.0 on a single thread.
  • NEON / Apple Silicon speed pass. The same ideas ported to NEON — a fused source→destination accumulator pass, a 4-output vdotq L1 dot with independent chains, 64-wide fused chunks — plus every x86 change re-measured on ARM (the ones that did not pay off there are x86-only). About 1.6× the node rate of 3.0.0 on a single thread; a middlegame position now exceeds 1M nodes/s per thread on an M1 Max.
  • Build. The Makefile and CMake pick -march=native on x86-64 hosts and -mcpu=native on Apple Silicon; make ARCH="-march=x86-64-v3" gives a binary for any AVX2 machine. PGO builds are deterministic (sandboxed training workload).

Source release. Build with make (or make profile-build PGO_NET=nets/SCNNUEv3-2026-08-30.scn5 for the fastest binary); the network ships in the repository. Third-party notices are in NOTICE.