Skip to content

boolmesh: scratch bound for batch paths (parallel-batch stealing, union_many intermediates) #259

Description

@GeneralPawz

Left open by #226, which made boolmesh's declared scratch an upper bound for single booleans: `ScratchRequirement::Affine` = base + per-triangle × n + per-worker × workers. Two batch cases aren't covered by measurement yet:

  • Parallel batch: with both `parallel` and `parallel-batch`, a worker waiting in a join can steal another pair's boolean, so more booleans can be in flight than there are workers. The per-worker term (base + 16 KiB) is reasoned, not measured.
  • `union_many` intermediates: intermediate results can have more triangles than the original inputs, so a bound in input triangles may not hold.

Also: a one-thread `CpuExecution` installs no pool, so the provider runs on the ambient pool. #226's provider-side re-check catches this, but only when a budget is set.

Done when

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

needs-triageFiled but not yet accepted, sized, or scheduled

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions