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



Gargantua 2.1 - new version chess engine


Gargantua - UCI and NNUE engine
Author: Claudio M. Camacho  Rating Chess Engines Diary CEDR=3126

Gargantua 2.1 what's new?

Gargantua v2.1 - Lazy SMP, Advanced Search, & 6x Performance Leap
This release marks a massive architectural leap in search depth and evaluation speed. By introducing Stockfish-style multithreading and overhauling the search heuristics, the engine now achieves over 3.6M+ Nodes Per Second (NPS)—a ~6x performance increase—and effortlessly scales to Depth 21+ in under 10 seconds.

🚀 Engine Architecture & Multithreading
Stockfish-Style Lazy SMP: Completely refactored the engine for multithreading, implementing ThreadPool, Thread, and MainThread classes for scalable, concurrent searches.
Lockless Transposition Table (TT): Replaced global TT increment counters with a lockless TT::hashfull() sampling method, completely eliminating false-sharing cache bottlenecks.
Modernization & Portability: Upgraded thread identification from POSIX pthread_self() to C++20 std::this_thread::get_id() and converted the global timeout flag to std::atomic<bool>.
🧠 Search & Evaluation Enhancements
Logarithmic Late Move Reductions (LMR): Swapped flat depth reduction for an aggressive, precomputed Logarithmic LMR Table.
Singular Extensions & History Gravity: The engine now extends search depth by 1 ply upon discovering singular moves via zero-window searches. Additionally, History Gravity now dynamically applies a depth-squared bonus/penalty to prioritize better history moves across branches.
Countermove Heuristic: Tracks refutations to quiet moves and heavily prioritizes them in future subtrees.
Progressive Aspiration Windows: Replaced the full-width fail fallback with progressive widening, massively saving on node recalculation.
Aggressive Quiescence Pruning: Enabled Static Exchange Evaluation (SEE) inside Quiescence Search to aggressively prune capture sequences that result in material loss.
🐛 Bug Fixes & Stability
Resolved critical memory corruption and double-undo bugs in the NNUE state during multi-threaded searches.
Fixed Out-Of-Memory (OOM) crashes and thread synchronization false positives that occurred during concurrent regression match testing.
Cleaned up Universal Chess Interface (UCI) output so info and bestmove are strictly limited to the main thread.
Fixed the UCI nodes stat to correctly aggregate the total searched nodes across all threads.

Gargantua 1.0 vs other engines:
Hiarcs 15.59.5/51-3251 games
Journeyman 2.111.5/25-225 games
FoxSEE 8.218/19+1719 games
Smallbrain 4.011.5/18+518 games
Critter 1.6a7.5/14+114 games
Jackychess 0.12.012/13+1113 games
Protej 0.6.311/13+913 games
Velvet 4.0.11.5/12-912 games
Odonata 0.6.210/11+911 games
Devel 4.0.2.39/10+810 games
Beef 0.3.67/10+410 games
Fritz 173/10-410 games
CorChess 2106221/10-810 games
Cdrill 20008/8+88 games
ChessKISS 1.88/8+88 games
Blunder 8.0.07.5/8+78 games
Fridolin 4.00 JA7.5/8+78 games
Rhetoric 1.4.37/8+68 games
Euwe 2.1.0 JA7/8+68 games
Ice4 6 JA5.5/8+38 games
Inanis 1.6.05/8+28 games





Comments