Skip to content

Implement multithreaded search using Lazy SMP - #52

Merged
KnightStackSys merged 1 commit into
mainfrom
feature/lazy-smp
Oct 23, 2026
Merged

KnightStackSys merged 1 commit into
mainfrom
feature/lazy-smp

Conversation

@KnightStackSys

Copy link
Copy Markdown
Owner

Summary

  • Add UCI Threads option (1–64, default 1)
  • Run independent four-player Teams searches in parallel, with staggered search depths and one authoritative primary bestmove
  • Share a synchronized transposition table, keep worker PV/history/search stacks private
  • Coordinate stop/join, MultiPV, and aggregate node counts
  • Add concurrency, UCI, lifecycle and TT tests

Safety

  • IIR is not included; it stays on the separate experimental branch
  • All newly tuned search defaults were updated independently on main

Validation

Build and CTest on Linux/Windows CI; compare SPRT and NPS before merging. Threads=1 retains the single-worker behavior.

…le UCI Threads

Add worker-local search instances with staggered iterative deepening, striped TT locks, aggregated node accounting, cooperative stop/join, isolated helper UCI output, MultiPV support, and threading regression tests. Keep IIR outside main.
@KnightStackSys
KnightStackSys merged commit 092edbe into main Oct 23, 2026
2 checks passed
@KnightStackSys
KnightStackSys deleted the feature/lazy-smp branch October 23, 2026 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant