Repository navigation
SimpleChess v3.1.0
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,SyzygyProbeLimitandSyzygy50MoveRule;tbhitsreported in the info line. Probing stays off untilSyzygyPathis 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
vdotqL1 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=nativeon x86-64 hosts and-mcpu=nativeon 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.