Guided by the insights from the chess programming community, it fearlessly combines established concepts with its reckless nature, as the name suggests.
Version | CCRL Blitz | CCRL 40/15 | Release Date |
---|---|---|---|
Reckless v0.7.0 | 3505 +/- 16 [#59] | 3407 +/- 25 [#61] | Aug 23, 2024 |
Reckless v0.6.0 | 3386 +/- 16 [#78] | 3318 +/- 16 [#83] | Mar 22, 2024 |
Reckless v0.5.0 | 3243 +/- 19 [#94] | 3213 +/- 21 [#94] | Feb 4, 2024 |
Reckless v0.4.0 | 2933 +/- 19 [#151] | 2929 +/- 21 [#158] | Dec 13, 2023 |
Reckless v0.3.0 | 2617 +/- 20 [#229] | 2615 +/- 21 [#251] | Nov 6, 2023 |
Reckless v0.2.0 | 2358 +/- 19 [#333] | Oct 7, 2023 | |
Reckless v0.1.0 | 2020 +/- 20 [#471] | May 16, 2023 |
You can download precompiled builds from the GitHub Releases page.
x86_64-v1
: Slowest, compatible with any x86-64 CPU.x86_64-v2
: Faster, requires support forPOPCNT
,SEE3
, etc.x86_64-v3
: Even faster, requires support forAVX2
, etc.x86_64-v4
: Fastest, requires support forAVX512
.
For detailed information on the specific features needed for each level, refer to the x86-64 microarchitecture levels Wikipedia page.
Make sure you have Rust 1.79.0
or a later version installed. If not, follow the official Rust installation guide.
cargo rustc --release -- -C target-cpu=native
# ./target/release/reckless
For profile-guided optimization (PGO) builds, you need to install additional tools:
rustup component add llvm-tools
cargo install cargo-pgo
Then, you can build the engine using make
:
make
# ./reckless
Or run the steps manually:
cargo pgo instrument
cargo pgo run -- bench
cargo pgo optimize
# ./target/x86_64-unknown-linux-gnu/release/reckless
# (the path may vary based on your system)
Reckless is not a standalone chess program but a chess engine designed for use with UCI-compatible GUIs, such as Cute Chess, En Croissant, or Nibbler.
Along with the standard UCI commands, Reckless supports additional commands for testing and debugging:
Command | Description |
---|---|
perft <depth> |
Run a perft test to count the number of leaf nodes at a given depth |
bench <depth> |
Run a benchmark on a set of positions to measure the engine's performance |
eval |
Print the static evaluation of the current position from white's perspective |
compiler |
Print the compiler version, target and flags used to compile the engine |
- OpenBench is the primary testing framework powered by Cute Chess
- Bullet is the NNUE trainer
- Stockfish, Ethereal, Berserk, and many other open source chess engines
- Members of the Stockfish Discord server
- Chess Programming Wiki
- CCRL and all chess engine testers out there