WhiteCore stands as a strong C++ chess engine using efficiently-updatable neural networks for positional evaluation. It's the successor of BlackCore reimagined with focus on originality.
The following commands can be used to build a native binary for the best performance. You will need clang++ for this.
git clone https://github.com/SzilBalazs/WhiteCore.git
cd WhiteCore
make
./WhiteCore
WhiteCore in itself is a command line program, and requires a UCI compatible Chess GUI (like Cute Chess or Arena) for the best user experience.
Command | Description |
---|---|
pretty |
Enables the pretty output option for the console. This improves the readability of the search reports by adding indentation and colors. Can be disabled by sending the "uci" command. |
display |
Displays the current board status. |
eval |
Evaluates and displays the current board state using nnue. |
gen |
Generates self-play games using specific parameters. |
split |
Splits input data into two output datasets in a particular proportion. |
quantize |
Quantizes the neural network weights for performance reasons. |
train |
Trains a neural network with specific parameters. |
perft |
Used for performance testing and validation of the move generator. |
We're grateful to Runpod for their sponsorship of the FindingChess instance. Their donation of hardware is essential for the development of WhiteCore.
OpenBench by Andrew Grant
FindingChess is a fork of the OpenBench framework, a platform that has played an important role in the development process. It allows us to test ideas easily using a distributed computational framework.
This project is licensed under GPL-3. For the full license, see LICENSE.