Since you’re here...

We hope you will consider supporting us today. We need your support to continue to exist, because good entries are more and more work time. Every reader contribution, however big or small, is so valuable. Support "Chess Engines Diary" even a small amount– and it only takes a minute. Thank you.
============================== My email: jotes@go2.pl



Revolver 2.0 - new version chess engine

 

Revolver - UCI chess engine
Author: Deshawn Mohan-Smith

The first official release of Revolver, a high-performance UCI-compliant chess engine written in C. This engine is powered by a Pure NNUE (Efficiently Updatable Neural Network) evaluation function, trained entirely on data generated from self-play games.

✨ Key Features
Self-Play Training: The network was trained on a dataset generated from millions of games played against itself, independent of any human theory.
UCI Protocol: Fully compatible with most Chess GUIs.
Search: PVS (Principal Variation Search) with basic pruning techniques (Null Move Pruning, Late Move Reductions, Futility Pruning).
Performance: Highly optimized move generation using 64-bit bitboards, for high search throughput.

Revolver 2.0 what's new?
The next major iteration of Revolver brings massive improvements to the neural network, search algorithm, and low-level optimizations.

Evaluation & NNUE Upgrades
Network V8: The evaluation function has seen continuous upgrades from V4 through V8. The network is now trained on a dataset of over 250 million positions, resulting in a substantially deeper positional understanding.
Accumulator Optimizations: Implemented ply-indexable accumulators and ensured accumulators are stored per thread.
Promotion Handling: Added the AddSub accumulator operation specifically to handle pawn promotions more efficiently.
Training Tweaks: Adjusted network training time to 125ms per position.
Search & Pruning Improvements
Aspiration Windows: Increased the base aspiration window size to 50 and implemented linear widening on the windows.
Check Extensions: Added check extensions to ensure the engine searches deeper in highly forcing, tactical lines.
Performance Optimizations
Compiler Intrinsics: Forced the use of specific compiler intrinsics to prevent inefficient mulhi and mullo instructions during hardware execution, heavily leaning into SIMD vector operations to maximize instruction throughput.
Memory Efficiency: Reduced costly memory accesses when finding the next best move by caching the bestScore.
Bug Fixes, UCI & QoL
Buffer Safety: Fixed a bug to ensure the engine no longer reads input outside of the allocated buffer.
Static Evaluation Check: Added a new UCI command to directly print the static evaluation of the current position for easier debugging and analysis.
Build Automation: The executable name is now dynamically set based on the target Operating System.


Comments