clrsrc 1.2.0
A high-performance UCI chess engine in Rust with a self-trained NNUE evaluation.
New in 1.2.0
The current state - each step individually verified by SPRT or a bench gate.
- A markedly bigger, stronger NNUE with more king context - more position-dependent king safety.
- Improved time management - smarter clock use in sharp and defensive positions.
- Better endgame conversion of won positions.
- More robust mate detection - no more false aborts.
Self-contained Windows binary (net embedded). How the seven improvements of this generation came about is in the blog: Seven at one blow. Download: Release v1.2.0 (opens in a new tab).
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.