Skip to content

Repository files navigation

Cinder
• C I N D E R •

Overview

Cinder is a hobby chess engine written in Rust.

Playing Strength

Version SPCC Ipmanchess CCRL Blitz CCRL 40/15 CEGT 40/4 CEGT 40/20
v0.6.* 3777 3576 - - - -
v0.5.* - 3557 3739 3606 - 3588
v0.4.* - - 3686 3561 - 3534
v0.3.* - - 3658 3547 - 3511
v0.2.* - - 3634 3523 - 3480
v0.1.* - - - 3498 3478 3439

Getting started

Prebuilt binaries

Prebuilt binaries for various popular platforms and CPU architectures are available on the releases page. Below is a reference for which binary to pick. The table is ordered from most compatible to most performant. You should prefer the most performant binary that runs on your machine.

Suffix Description
*-sse4 Compatible with most Intel and AMD CPUs
*-avx2 Compatible with Intel Haswell (2013+) and AMD Excavator (2015+)
*-avx512 Compatible with Intel Ice Lake (2019+) and AMD Zen 4 (2022+)
*-neon Compatible with ARMv8.2-A (2017+), including Apple M1 and newer

Building from source

Building Cinder from source currently requires a recent nightly Rust compiler. Follow the steps below to build a binary optimized for your CPU architecture. You'll find the binary under target/bin/.

rustup toolchain install nightly
make

Usage

Cinder implements the UCI protocol and should be compatible with most chess graphical user interfaces (GUI). Users who are familiar with the UCI protocol may also interact with Cinder directly on a terminal via its command line interface (CLI).

UCI options

Name Default Unit Description
Hash 16 MiB Memory allocated for the transposition table
Threads 1 count Number of search threads used to search
MoveOverhead 10 ms Clock time assumed to be lost to system latency per move
SyzygyPath <empty> - Path to a directory containing Syzygy tablebases

Acknowledgement

The efficiently updatable neural networks (NNUE) Cinder uses for position evaluation are trained with bullet, by Jamie Whiting, using data generated by the Leela Chess Zero project, which is available under the Open Database License (ODbL)

Cinder's implementation of the Syzygy tablebases probing algorithm is based on a fork of shakmaty-syzygy, by Niklas Fiekas.

Contribution

Cinder is an open source project and you're very welcome to contribute to this project by opening issues and/or pull requests, see CONTRIBUTING for general guidelines.

License

Cinder is distributed under the terms of the GPL-3.0 license, see LICENSE for details.

About

A hobby chess engine

Resources

Contributing

Stars

20 stars

Watchers

4 watching

Forks

Releases

Used by

Contributors

Languages