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



Grail 2.0.0 - new version chess engine



Grail - UCI chess engine
Author: Jรธrgen Hanssen

After working on it for a while, I feel my hobby chess engine is finally ready for v1.0.0. Not cutting edge, but plays a solid game.

Grail uses modern search techniques and evaluates positions using a simple NNUE trained on 500 million positions from self-play.

Development continues in my spare time, and I plan to release updates with several missing features and improvements like threading, tablebase support, and pondering. But don't worry! Grail supports all standard UCI time controls and analysis modes, so it works seamlessly with your favorite GUI for matches and analysis.

Grail 2.0.0 what's new?

Time for a new version with some improvements I have made to Grail! The NNUE is now a fully self-taught network, and I thought that warranted a major bump ๐ŸŽ‰ So here is 2.0.0:

New Features

Self-taught Evaluation

The new network has been trained from scratch over 6 generations of iterative self-play, totalling 67 million games. Previous versions used the old HCE as a bootstrap, but 2.0.0 uses knowledge derived from game outcomes.

Syzygy Endgame Tablebases

Grail can now load Syzygy tablebases for a slight increase in strength. Configurable with the new SyzygyPath and SyzygyProbeDepth UCI options.

go nodes

Added support for the go nodes UCI command.

Search Improvements

  • History-scaled late move reductions (with continuation history)
  • Capture history reductions
  • Anti-reduction for PV moves replacing the old no-reduction guard
  • Quadratic margin on singular extensions to prevent over-extension in long check chains.

NNUE Improvements

  • Dual-perspective accumulator replacing the single STM input bit.
  • Dead-neuron pruning in the linear layers for an NPS uplift.
  • Per-neuron quantization scales in the accumulator instead of a single global scale.

Misc

  • HCE has been yeeted.
  • The NNUE UCI toggle is gone with it.
  • General cleanup and module restructuring.

Elo gain over 1.1.0 (1 thread without endgame tablebases)

STC  (10+0.1):  +97.84  ± 4.66 Elo  (10k games)
LTC  (60+0.6):  +75.03 ± 7.15 Elo (3k games)
VLTC (180+1.8): +80.27 ± 11.71 Elo (1k games)


Comments