| Finished | ||||||
|---|---|---|---|---|---|---|
| Joshka | Reckless | joshka/search-refactor | diff | 8.0+0.08 | LLR: -2.32 (-2.25, 2.89) [-2.75, 0.25] Games: 8248 W: 2014 L: 2161 D: 4073 Ptnml(0-2): 25, 975, 2267, 836, 21 | This is a big automated refactor - unlikely to actually ever land. Testing mostly to see whether it's reasonably similar in perf. |
| Joshka | Reckless | joshka/helper-search-diversification | diff | 5.0+0.05 | LLR: 2.95 (-2.25, 2.89) [0.00, 4.00] Games: 42968 W: 10794 L: 10552 D: 21622 Ptnml(0-2): 39, 4690, 11785, 4930, 40 | Apply a small deterministic LMR/FDS reduction bias to helper threads while leaving the main search thread unchanged |
| Joshka | Reckless | joshka/helper-search-diversification | diff | 5.0+0.05 | LLR: -2.35 (-2.25, 2.89) [0.00, 4.00] Games: 14486 W: 3606 L: 3664 D: 7216 Ptnml(0-2): 7, 1680, 3931, 1614, 11 | Use 512 reduction units for half-ply helper offsets and 256 for quarter-ply offsets, replacing the earlier 96/48 values that were likely too small to diversify searches meaningfully. |
| Joshka | Reckless | joshka/encapsulate-thread-pool-state | diff | 8.0+0.08 | LLR: 0.00 (-2.25, 2.89) [-2.75, 0.25] Games: 0 W: 0 L: 0 D: 0 Ptnml(0-2): 0, 0, 0, 0, 0 | Encapsulate thread pool state access Hide direct root-board updates and search-result reads behind explicit ThreadPool methods while keeping the existing scoped worker execution model. This makes the pool own more of its state layout without moving ThreadData into persistent worker threads. |
| Joshka | Reckless | joshka/optimize-avx2-move-emission | diff | 4.0+0.04 | LLR: -2.54 (-2.25, 2.89) [0.00, 3.00] Games: 18500 W: 4683 L: 4792 D: 9025 Ptnml(0-2): 88, 2104, 4964, 2017, 77 | Prototype AVX2 bulk move emission Replace scalar setwise move emission with an AVX2 chunked path on x86 while preserving move ordering and move encoding behavior. This is a non-functional optimization experiment for move generation. |
| Joshka | Reckless | joshka/reduce-quiet-scoring-lookups | diff | 4.0+0.04 | LLR: -2.62 (-2.25, 2.89) [0.00, 3.00] Games: 9422 W: 2377 L: 2518 D: 4527 Ptnml(0-2): 62, 1188, 2342, 1067, 52 | Reduce repeated work in `score_quiet` by hoisting shared history/lookups out of the per-move scoring loop while keeping the scoring formula unchanged. |
| Joshka | Reckless | joshka/optimize-x86-move-picker-scan | diff | 4.0+0.04 | LLR: -2.25 (-2.25, 2.89) [0.00, 3.00] Games: 7824 W: 1988 L: 2103 D: 3733 Ptnml(0-2): 32, 923, 2123, 796, 38 | Optimize x86 move picker scan Prototype an x86-first move ordering experiment by adding a faster best-entry selection path in MovePicker. Keep the change isolated so it can be validated locally before any OpenBench run. |
| Joshka | Reckless | joshka/setwise-queen-threat-generation | diff | 4.0+0.04 | LLR: -2.31 (-2.25, 2.89) [0.00, 3.00] Games: 16508 W: 4169 L: 4268 D: 8071 Ptnml(0-2): 67, 1894, 4429, 1799, 65 | Use setwise queen threat generation Replace the scalar queen threat accumulation in update_threats with the existing setwise rook and bishop threat helpers. Keep behavior the same while simplifying and broadening the vectorized threat path. |
| Joshka | Reckless | joshka/load-nnue-parameters-with-zerocopy | diff | 4.0+0.04 | LLR: -2.29 (-2.25, 2.89) [0.00, 3.00] Games: 14098 W: 3597 L: 3702 D: 6799 Ptnml(0-2): 67, 1658, 3701, 1559, 64 | Load NNUE parameters with zerocopy Use zerocopy for the static NNUE model layout instead of an explicit transmute |
| Joshka | Reckless | joshka/split-worker-state-from-search-state | diff | 4.0+0.04 | LLR: 0.00 (-2.25, 2.89) [0.00, 3.00] Games: 0 W: 0 L: 0 D: 0 Ptnml(0-2): 0, 0, 0, 0, 0 | Replaces a small set of layout casts with `zerocopy`, and refactors the threadpool so helper threads own their state and communicate through explicit request/result types instead of shared `ThreadData` access. Bench: `3142485`. |
| Joshka | Reckless | joshka/standalone-iir | diff | 8.0+0.08 | LLR: -2.27 (-2.25, 2.89) [0.00, 3.00] Games: 40210 W: 10154 L: 10200 D: 19856 Ptnml(0-2): 106, 4872, 10212, 4792, 123 | Add standalone IIR experiment Isolate a mild internal iterative reduction from the combined previous-PV-aware search patch so it can be bench-tested on its own. Keep the first version narrow and comparable to the combined run. |
| Joshka | Reckless | joshka/previous-pv-only | diff | 8.0+0.08 | LLR: -2.35 (-2.25, 2.89) [0.00, 3.00] Games: 28208 W: 7151 L: 7224 D: 13833 Ptnml(0-2): 82, 3066, 7857, 3041, 58 | Add previous-PV-only experiment Isolate previous-PV-aware pruning control from the combined search patch so it can be tested independently. Keep the first use narrow and local to quiet shallow pruning on the trusted PV path. |
| Joshka | Reckless | joshka/previous-pv-no-tt-reduction | diff | 8.0+0.08 | LLR: -2.44 (-2.25, 2.89) [0.00, 3.00] Games: 22668 W: 5692 L: 5781 D: 11195 Ptnml(0-2): 51, 2465, 6397, 2364, 57 | Make no-TT reductions previous-PV-aware Test previous-PV-aware search control in Reckless terms rather than adding a standalone Stockfish-style IIR block. Track previous-PV membership and use it only to suppress the existing extra no-TT reduction pressure inside LMR and FDS on the trusted PV path. This follows the observation that Reckless already bakes some no-TT search reduction into its current LMR/FDS formulas via the tt_move.is_null() terms, so the right question is whether those existing reductions should be softer on the previous trusted PV. |
| Joshka | Reckless | joshka/previous-pv-iir | diff | 8.0+0.08 | LLR: -2.26 (-2.25, 2.89) [0.00, 3.00] Games: 18556 W: 4682 L: 4775 D: 9099 Ptnml(0-2): 64, 2231, 4772, 2156, 55 | Add previous-PV-aware IIR control Implement previous-PV path tracking in search and use it to gate a conservative internal iterative reduction for nodes without TT guidance. Keep the first version narrow so it can be tested cleanly in OpenBench. |
| Joshka | Reckless | joshka/optimize-quiet-move-scoring | diff | 4.0+0.04 | LLR: -2.33 (-2.25, 2.89) [0.00, 3.00] Games: 16322 W: 4144 L: 4245 D: 7933 Ptnml(0-2): 80, 1836, 4423, 1749, 73 | This one should have the correct bench values (I think) |