Skip to content

DEEPFOLD-SOLVER v1.8.6 — CPU engine optimization pass

Latest

Choose a tag to compare

@a9876543245 a9876543245 released this 21 May 15:09

What's new in v1.8.6

⚡ CPU engine optimization

Algorithmic shortcuts for terminal evaluation in the CPU solver. No frontend changes — same SpotLibrary bundles, Game/Stack selector, login flow as v1.8.5.

Two new fast paths:

  • Fold-terminal evaluator — O(nc²) dense matrix → O(1326) blocker-sum aggregation. Fold payoffs don't depend on hand strength, only card compatibility, so the matrix path is replaced by direct blocker tallies.
  • Showdown rank-prefix — singleton-bucket showdown terminals now use rank-prefix sums + two card-blocker subtractions instead of the O(nc²) category table scan. Multi-original canonical buckets still take the matrix path for correctness.

Defaults flipped:

  • cpu_persistent_omp: 0 → 1 (persistent OpenMP team is now production default; was an opt-in Sprint 3 gated path in v1.8.0+).

New driver script knobs:

  • --dcfr-schedule (default postflop) tunes CFR variant scheduling.
  • --cpu-persistent-omp is now wired explicitly in bulk-presolve.mjs and patch-mono-failures.mjs.

Diagnostics:

  • Solver JSON output now includes a cpu_diagnostics sub-object — canonical combo count, active range densities, run/block stats. Useful for understanding why a particular spot is fast or slow without enabling verbose logging.

🔧 Sidecar binary refresh

v1.8.6 ships with the freshly-built May 21 sidecar (deepsolver_core.exe, 1.88 MB) — was May 10 in v1.8.5. Includes all the algorithmic shortcuts above.

Verification

  • 12/12 smoke tests pass
  • 3 parity tests (CpuKernelParity, CpuParityFast, CpuParityExtended) pass → numerical correctness preserved end-to-end
  • New monotone smoke test (AsKsQs full ranges, 20 iter) catches mono-specific regressions cheaply

What this does NOT fix

  • GPU OOM on wide-range × monotone boards (the v1.8.3 problem) is unchanged. Those 22 spots still fall through to the frontend OOM auto-retry path with single flop sizing.

This is a perf-only patch. v1.8.5 users will auto-update via Tauri's passive updater.