Files
NowChessSystems/modules
Janis 3437dab49b feat(bot): add Lazy SMP parallel search for the NNUE bot
Adds optional multithreaded search behind a thread count that defaults to
1, so the live bot's play is unchanged until explicitly configured.

- ParallelSearch runs N AlphaBetaSearch workers over one shared,
  already-lock-protected TranspositionTable. Each worker has its own NNUE
  evaluator (independent accumulator) and ordering state; helpers only
  deepen the shared TT, the main worker's move is returned.
- AlphaBetaSearch gains bestMoveWithTimeSharedTt: the coordinator clears
  the shared TT once before launching workers, so helpers must not clear.
- EvaluationNNUE.freshEvaluator builds independent evaluators sharing the
  immutable weights (one per thread); the singleton still backs the
  default single-instance path.
- NNUEBot uses ParallelSearch with NNUE_SEARCH_THREADS (default 1).

numThreads <= 1 takes the single-worker clearing path, identical to the
previous sequential search. Strength can be validated by self-play
(threads N vs 1) before promoting the default.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 22:12:52 +02:00
..
2026-06-22 17:41:58 +00:00
2026-06-15 20:52:53 +00:00
2026-06-23 22:30:53 +00:00
2026-06-21 09:39:54 +00:00
2026-06-21 11:34:38 +00:00
2026-06-02 09:49:42 +00:00
2026-05-02 15:53:05 +00:00
2026-05-12 22:21:53 +00:00
2026-05-06 07:06:52 +00:00
2026-06-03 06:04:13 +00:00
2026-06-19 10:28:49 +00:00