Since you’re here...

We hope you will consider supporting us today. We need your support to continue to exist, because good entries are more and more work time. Every reader contribution, however big or small, is so valuable. Support "Chess Engines Diary" even a small amount– and it only takes a minute. Thank you.
============================== My email: jotes@go2.pl



New version chess engines: CalvinChess 4.0.0 (java)


Calvin Chess - java chess engine

v.4.0.0:
NNUE finally comes to Calvin!
And brings with it ~400 elo (at least in self-play).

Calvin's hand-crafted evaluation function has been fully removed and replaced with an Efficiently Updated Neural Network (NNUE).

Architecture is (768->256)x2->1. The net was trained on 250 million positions taken from the Leela Chess Zero dataset, that I re-scored using Calvin's own search and HCE. For training I used the excellent bullet NNUE trainer. (I started off by writing my own trainer, but I couldn't get it anywhere near the speed of bullet).

Other minor features include:
⚡ Minor move generation optimisations (#21)
⚡ Add age to TT replacement scheme (#23)
⚡ Add static eval to TT hash entry (#27)
⚖️ Add training data scorer to re-score Leela data for NNUE training (#44)
🔍 Extend search 1 ply when entering a pawn endgame (#22)
🐛 Fix bug where killer ply > max ply (#43)
Score of Calvin DEV vs Calvin: 436 - 19 - 45  [0.917] 500
Elo difference: 417.3 +/- 47.1, LOS: 100.0 %, DrawRatio: 9.0 %
How to run
To run Calvin locally, you will need Java (minimum Java 21) installed on your machine. The binary calvin.jar can be downloaded from the Releases section. Start up Calvin by executing the command:

java --add-modules jdk.incubator.vector -jar calvin.jar
Please note the '--add-modules jdk.incubator.vector' - Calvin uses the incubator Vector API for SIMD operations during NNUE inference, and this module needs to enabled explicitly.

CalvinChess 4.0.0 download


Comments