Skip to content

Divide the solve budget across right-hand-side lanes; the ladder as base plus rungs - #488

Draft
schroedk wants to merge 2 commits into
feat/365-budget-workspacefrom
feat/365-budget-lanes
Draft

schroedk wants to merge 2 commits into
feat/365-budget-workspacefrom
feat/365-budget-lanes

Conversation

@schroedk

Copy link
Copy Markdown
Collaborator

Closes #365. Stacked on #486.

solve/solve_batch read the ambient pool width once and pass it down as Par.

  • Right-hand sides run in lanes that halve the budget; each lane reuses one scratch.
  • A stall builds the next rung once, isolated under the whole budget; stalled RHS resume on it.
  • PrecondSlot becomes a base build plus a list of rungs.

thread_count checks equal bits at 1/2/3/8 threads. Rust 502 passed, pytest 117 passed / 2 skipped.

@schroedk
schroedk added this pull request to stack #487 October 31, 2026 21:21
@schroedk
schroedk force-pushed the feat/365-budget-lanes branch from 5684d9f to 788c843 Compare November 1, 2026 09:24
…lve budget across lanes (#365)

solve and solve_batch read the ambient pool width once and pass it down as
Par. Right-hand sides run in lanes that halve the budget between them, each
lane reusing one scratch; a stall builds the next rung once, isolated under
the whole budget, and the stalled right-hand sides resume on it. The
PrecondSlot enum becomes a base build plus a list of rungs, so the ladder
is N rungs rather than a diagonal/Schwarz special case.
@schroedk
schroedk force-pushed the feat/365-budget-lanes branch from 788c843 to 748e19d Compare November 1, 2026 14:52
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