From: Joost VandeVondele Date: Thu, 29 Apr 2021 06:18:37 +0000 (+0200) Subject: Add some more information on the UCI protocol X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=33fadb5118a0ec3917ec3bbc255fafdf148627ec Add some more information on the UCI protocol Improve README.md: provide a link to the protocol, and document some non-standard options. fixes https://github.com/official-stockfish/Stockfish/issues/3446 closes https://github.com/official-stockfish/Stockfish/pull/3450 No functional change --- diff --git a/README.md b/README.md index 67fb5fa0..bc34ee13 100644 --- a/README.md +++ b/README.md @@ -33,9 +33,14 @@ This distribution of Stockfish consists of the following files: * a file with the .nnue extension, storing the neural network for the NNUE evaluation. Binary distributions will have this file embedded. -## UCI options +## The UCI protocol and available options -Currently, Stockfish has the following UCI options: +The Universal Chess Interface (UCI) is a standard protocol used to communicate with a chess engine, +and is the recommended way to do so for typical graphical user interfaces (GUI) or chess tools. + +Stockfish implements most commands as described in [the UCI protocol](https://www.shredderchess.com/download/div/uci.zip) + +For users, the following UCI options, which can typically be set via a GUI, are available in Stockfish: * #### Threads The number of CPU threads used for searching a position. For best performance, set @@ -136,6 +141,24 @@ Currently, Stockfish has the following UCI options: * #### Debug Log File Write all communication to and from the engine into a text file. +For developers the following non-standard commands might be of interest, mainly useful for debugging: + + * #### compiler + Give information about the compiler and environment used for building a binary. + + * #### flip + Flips the side to move. + + * #### bench ttSize threads limit fenFile limitType evalType + Performs a standard benchmark using various options. The signature or standard node + count is obtained using all defaults. `bench` is currently `bench 16 1 13 default depth mixed`. + + * #### d + Display the current position, with ascii art and fen. + + * #### eval + Return the evaluation of the current position. + ## A note on classical evaluation versus NNUE evaluation Both approaches assign a value to a position that is used in alpha-beta (PVS) search