Skip to content

Thrawn v3.0

Choose a tag to compare

@feftywacky feftywacky released this 25 May 23:41
· 31 commits to main since this release

Thrawn v3.0 introduces a new native NNUE model, major search improvements, and broad engine performance work.
~3000 ELO

NNUE

  • Integrated Thrawn’s new HalfKAv2_hm NNUE architecture
  • Added incremental NNUE accumulator state directly to Position
  • Added SIMD-aware NNUE paths for AVX2, AVX512, and NEON builds
  • Added UCI EvalFile support for loading NNUE networks
  • Fallback to handcrafted evaluation when NNUE is unavailable
  • Replaced the old external-style NNUE interface with native Thrawn NNUE APIs
  • Added NNUE refresh, copy, promotion, update, and verification helpers
  • Updated make/unmake and null-move handling to preserve NNUE state

Engine Changes

  • Refactored Position copy/init behavior and shared attack/hash table storage
  • Improved move generation performance
  • Reworked transposition table storage with clustered entries, aging, static eval storage, and prefetching
  • Added and tuned search features including correction history, capture/quiet history, counter moves, LMR, ProbCut, futility pruning, and singular extensions
  • Improved Lazy SMP/threaded search behavior and result selection

Notes

  • NNUE file must be placed in the same directory of the executable or the engine will fallback to using HCE for evaluation