

The next section explains how fishnet v2 delivers stronger analysis and does so more quickly, regardless. It also means using NNUE even on old hardware. This means using the smallest common denominator, which is 1 thread and small hashtables. Your server-side analysis will now have consistent quality, no matter which client provided the analysis.


Each of these are asynchronous tasks that talk over channels.īeing a systems programming language, Rust also has convenient access to detect CPU features and pick the best corresponding Stockfish build, rather than this terrible hack in Python, which uses ctypes to allocate executable memory and runs hardcoded machine instructions. Rust’s type and ownership system is amazing at catching issues at compile time, and it was refreshing to be able to confidently do major refactorings on concurrent code.įishnet is using tokio for asynchronous communication with the Lichess API, a local queue, the engine processes, and the user who can stop the client at any time. To pay back technical debt, it has now been rewritten in Rust. fishnet started as a short and simple Python script that accumulated a lot of features over time. Server side analysis on Lichess is brought to you by fellow users who volunteer their CPU time using the fishnet client. After the jump to SF_NNUE, some gains are specific to NNUE, others apply also to Stockfish with NNUE turned off.Ĭongratulations to all Stockfish contributors! fishnet v2, rewritten in Rust SF_classical is the final development version before SF_NNUE landed. The following graph shows the strength improvements over the last Stockfish releases.

Stockfish remains a CPU based engine, and provides various build targets to progressively take advantage of modern vector instructions.
#Stockfish development version update
The main innovation is the ability to incrementally update the evaluation after moves, instead of evaluating the entire neural network from scratch. NNUE optionally replaces the handcrafted evaluation function with a neural network.
