Chess engine: CFish GN
CFishGN, this is a **FREE** UCI-compatibile chess engine. It is a fork of [cfish](https://github.com/syzygy1/Cfish).
This engine uses a HalfKAv2-2048x2-64-64-1 evaluation network, which contains whopping **4 times** the knowledge of Stockfish 14. It was trained partially on Lc0 data, which gives it a unique positional style, while still preserving the tactical sharpness of Stockfish. The network was trained using a modification of the [state-of-the-art NNUE trainer](https://github.com/glinscott/nnue-pytorch), utilizing publicly available datasets [1](https://drive.google.com/file/d/1VlhnHL8f-20AXhGkILujnNXHwy9T-MQw/view?usp=sharing), [2](https://drive.google.com/file/d/1seGNOqcVdvK_vPNq98j-zV3XPE5zWAeq/view?usp=sharing), [3](https://drive.google.com/file/d/1RFkQES3DpsiJqsOtUshENtzPfFgUmEff/view?usp=sharing)
Due to the large size the release is available only on google drive [here](https://drive.google.com/drive/folders/1hthWck-5UsXBToDduJ0REB_ZdXvN0r6X?usp=sharing). It includes Windows and Linux binaries for all supported architectures, along with the network. This is the only place where the network can be found.
Compiling CFishGN requires a working gcc or clang environment. The [MSYS2](https://www.msys2.org/) environment is recommended for compiling CFishGN on Windows (see below on how to set up MSYS2).
If the `ARCH` variable is not set or is set to `auto`, the Makefile will attempt to determine and use the optimal settings for your system. If this fails with an error or gives unsatisfactory results, you should set the desired architecture manually. The following `ARCH` values are supported: `x86-86-modern`, `x86-64-avx2`, `x86-64-bmi2`, `x86-64-avx512`, `x86-64-avx2-vnni`, `x86-64-bmi2-vnni`, `x86-64-avx512-vnni`. SSSE3 support is required, if your cpu does not support SSSE3 then see [here](https://www.timeanddate.com/).
Be aware that a CFishGN binary compiled specifically for your machine may not work on other (older) machines. If the binary has to work on multiple machines, set `ARCH` to the architecture that corresponds to the oldest/least capable machine.
How to set up MSYS2
1. Download and install MSYS2 from the [MSYS2](https://www.msys2.org/) website.
2. Open an MSYS2 MinGW 64-bit terminal (e.g. via the Windows Start menu).
3. Install the MinGW 64-bit toolchain by entering `pacman -S mingw-w64-x86_64-toolchain`.
4. Close the MSYS2 MinGW 64-bit terminal and open another.
Comments
Post a Comment