![]() ![]() (In this sense, 4,000,000 classical nodes appear to be equivalent to 2,250,000 NNUE nodes.) This calibration means you are actually getting a strength improvement out of this update, rather than just converting all gains into efficiency. Node targets are tuned to take the same time as Stockfish 11 on middle-aged x86-64-sse41-popcnt CPUs.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. The decision to value consistency and debuggability more than utmost efficiency.Will now use multi-variant Stockfish only for variant games or games with exotic material combinations, for a ~10% efficiency improvement.fishnet now available for aarch64, with Stockfish built using emulation on GitHub actions.This is important, because Stockfish 12 benefits immensely from the availability of vector instructions and brings a much wider array of possible target features. 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. 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.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |