Skip to content

Commit the recovered probability-branch ensemble memory frontier - #280

Open
Alexander-Mitrofanov wants to merge 1 commit into
fix/probability-test-preconditionsfrom
perf/preserve-probability-memory-port
Open

Alexander-Mitrofanov wants to merge 1 commit into
fix/probability-test-preconditionsfrom
perf/preserve-probability-memory-port

Conversation

@Alexander-Mitrofanov

Copy link
Copy Markdown
Collaborator

This promotes the validation-only forward port of PR #261 onto the current base-pair probability branch. Seed-extension predictions group partial site partitions by their target right boundary, finalize buckets once no remaining seed can contribute to them, and release that storage. Keys retain three coordinates because the bucket supplies the fourth.

The seed-handler order and partition contribution order are preserved. A suffix minimum of seed starts makes finalization safe for non-monotonic explicit seed iteration. Tracker-enabled runs retain the deferred map and callback order. Reuse and empty-region initialization reset the frontier. The canonical exact stack-seed kernel and its reverse pair-probability computation are unchanged; legacy exact seeded extension and heuristic extension use the recovered frontier. Direct container/hash includes make the changed public header self-contained.

Why it was not committed before: the implementation lived in issue-260-validation/feat-fixed as an integration-validation port. PR #261 intentionally targeted master and supplied the forward port as doc/ensemble-memory-probability-port.patch rather than committing it to the probability branch. The validation tree also contained SVG changes later committed in PR #259; those already exist in this PR's base and are not duplicated. This PR commits the six-file memory port, its existing streamed-versus-buffered regressions, a provenance note and ChangeLog.

This PR is stacked on #279, which aligns existing tests with the probability branch's later debug-only precondition checks. Review that test-only change first; the diff here contains the recovered optimization and its documentation. The historical artifacts are separately preserved in #278, and the C++23 audit in #277.

Validation on the assembled series with GCC 14.4 and Kokkos mdspan:

  • Release make tests -j2: 7/7 suites, 101,251 assertions in 98 API cases.
  • Debug make tests -j2: 7/7 suites, 101,267 assertions in 98 API cases.
  • Regressions compare streamed and buffered partition totals and ranked sites across exact/heuristic, LP/noLP, stack/bulged/explicit seeds, cropped regions, reuse and tracker callbacks. Existing probability CSV/SVG CLI tests pass.
  • Changed installed public headers compile independently; an installed predictor consumer compiles through pkg-config and predicts successfully.
  • Validated source files match this PR's final tree; full diff whitespace checks pass.

Historical measurements and limitations are documented in PR #261. No new general speedup claim is made; Apple Clang and multiprecision validation were not run locally.

Related: #260, #261, #258.

This branch has not been deployed

No deployments
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