-
Notifications
You must be signed in to change notification settings - Fork 0
Brainstorm: parallelization strategy for QuADMESH+ #38
Copy link
Copy link
Open
Labels
priority: somedayBackground; pick when queue thins.Background; pick when queue thins.request: researchRequest for an investigation; deliverable is a report.Request for an investigation; deliverable is a report.status: brainstormingDesign phase; not yet implementable. Agents do NOT open a PR while in this state.Design phase; not yet implementable. Agents do NOT open a PR while in this state.type: featNew capability or skill.New capability or skill.
Metadata
Metadata
Assignees
Labels
priority: somedayBackground; pick when queue thins.Background; pick when queue thins.request: researchRequest for an investigation; deliverable is a report.Request for an investigation; deliverable is a report.status: brainstormingDesign phase; not yet implementable. Agents do NOT open a PR while in this state.Design phase; not yet implementable. Agents do NOT open a PR while in this state.type: featNew capability or skill.New capability or skill.
Ask
Background brainstorm (no implementation expected yet): where can QuADMESH+ exploit parallelism, and what is the cleanest decomposition? Deliverable is a short options memo, not code.
Why now (low priority)
Pure correctness work (faithful tri2quad sweep, PR #37) takes precedence. File this so the parallelization design space is captured while it is fresh; pick up when the queue thins.
Seed questions
faithful_sweepmutates the working Domain innermost→outward;edgeBisectionsplitsiLayer-1while still triangular, so layerkdepends on layerk+1. Is that dependency fundamental, or only between adjacent layers (i.e. can non-adjacent layers run concurrently)?elem_quality, per-element checks — which are already data-parallel and just need vectorization vs process/thread fan-out?_match_tris_to_quads) over one layer — graph matching; is a parallel/blocked matcher worth it, or is per-layer work too small?multiprocessingvsnumba/Cython vs leaving it to chilmesh. GIL implications. Determinism (we already have a run-to-run nondeterminism bug — parallelism must not worsen it).Out of scope
Not asking for an implementation or a benchmark harness here — just the decomposition options + a recommended first target with rough effort/payoff.
Labeling note: no canonical
scope:label covers core package/algorithm code (canon scopes are infra-flavored: automation/ci/docs/git/plugin/skill/sync/testing). Tagged by type + request + priority only. Candidate follow-up forgit-issue-label-managercanon (e.g. ascope: core/scope: algorithm).