clrsrc 1.1.1
A high-performance UCI chess engine in Rust with a self-trained NNUE evaluation.
Architecture
The core building blocks - deliberately accessible.
Search
An own alpha-beta/PVS search (Principal Variation Search), written entirely from scratch in Rust - with modern pruning and a transposition table that reuses already computed positions. It decides which moves are searched deeper and which are pruned early.
Multi-threading
Via Lazy SMP, clrsrc uses many CPU cores in parallel: several search threads share the transposition table and explore the search tree deeper together.
Evaluation: NNUE
An "Efficiently Updatable Neural Network" evaluates positions. It was trained on own self-play games and refined with a Stockfish 17.1 teacher (rescoring) - the architecture is home-grown, not a borrowed net.
A single standalone binary
The NNUE is embedded directly in the executable. A single .exe with no
companion files is enough to play at full strength.
Runtime SIMD dispatch
At startup the engine probes the CPU and automatically picks the fastest path: AVX-512, AVX2 or scalar. One binary thus runs on any x86-64 CPU.
Endgame tablebases
Via Syzygy tablebases (3-4-5-6-men, WDL+DTZ) clrsrc knows the perfect result as soon as only a few pieces remain on the board.
Own opening/experience book
Optionally the engine uses a self-generated book. For neutral rating-list testing (CCRL), book and learning can be turned off completely.
UCI options
clrsrc behaves like a normal UCI engine and plugs into any GUI.
# Excerpt - standard options Threads # number of search threads Hash # transposition table size (MB) SyzygyPath # path to the tablebases (up to 6 men) OwnBook # own book on/off (default: off) Ponder # thinking on the opponent's time EvalFile # NNUE - embedded, optionally overridable
Strength & development
Development is test-driven: new ideas are measured via SPRT (Sequential Probability Ratio Test) over hundreds to thousands of fast games against the current version before they ship in a release. The current version is roughly +100 Elo stronger than the previous one.
A CCRL rating-list entry is planned. As long as clrsrc isn't listed there, this site deliberately shows no official Elo number - once a verified value exists, it will appear here (with a source). A real-world anchor in the meantime is the bot's live Lichess rating, shown on the Live page. How the test workflow actually runs is described in the blog.
License: GPL-3.0. clrsrc uses a few GPL components (parts of the time management are ported from Stockfish/Stash/Viridithas; tablebase probing via shakmaty-syzygy), but it is not a Stockfish derivative.