T30 — ND partition-tree export/import and ordering cache
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 20/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Domain
- hpc
Research direction
The scope lives in the T30 section of TASKS.md on main, not in this issue, and the work depends on #116 (T29) being merged first. The named entry points are nd_partition_tree and user_nd_partition_tree, which need export and import in the cuDSS binary-tree encoding, plus an ordering cache. Done means the test that imports the exported tree reproduces the same supernode partition and nnz_L, with the Run tests and Aqua checks green.
Written by the indexing model from the issue text.
Description
Task T30 of TASKS.md — milestone M1 — Symbolic engine. (Was T24 until the 2026-10-09 renumbering, see STATE.md §8: the tree import is a compatibility feature, SDS's own ND already matches the imported cuDSS ordering; the ordering cache is the part MadNLP benefits from.)
Depends on: #116 (T29) must be merged first; tasks are strictly sequential.
Summary (from TASKS.md): nd_partition_tree/user_nd_partition_tree in the cuDSS binary-tree encoding; ordering cache; test: importing the exported tree reproduces the same supernode partition and nnz_L.
Scope and deliverables: the section T30 of TASKS.md on main is the single source of truth; it is not copied here so it cannot drift.
Definition of done:
- Every test listed in the task passes on the KA CPU backend and on the CUDA self-hosted runner (
Run testsandAquagreen on the PR). - The task's status marker in
TASKS.mdis set and its Report block is filled in honestly (CUDA counts come from CI). - A PR titled
T30: …from branchtask/T30-<slug>withCloses #117in its body, reviewed by the Claude reviewer withVERDICT: APPROVE. - Out-of-scope bugs or follow-ups found on the way are opened as separate issues (label
found-by-agent), not fixed silently.
How it starts: add the label claude:implement (the pipeline does this automatically after the previous task's PR merges; label on-hold to prevent that).
- Dominant language
- Julia
- Stars
- 4
- Forks
- 0
- Avg merge
- 4h 1m
- Merged PRs (30d)
- 73
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from exanauts/SparseDirectSolver.jl
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
exanauts/SparseDirectSolver.jl#141 ·
Maintainers usually reply within 1 day
-
found-by-agent
Difficulty 4/5 3-5 days Newbie friendliness 18/100
exanauts/SparseDirectSolver.jl#138 ·
Maintainers usually reply within 1 day
-
found-by-agent
Difficulty 4/5 3-5 days Newbie friendliness 18/100
exanauts/SparseDirectSolver.jl#137 ·
Maintainers usually reply within 1 day
-
T31 — oneAPI and Metal extensions, allocation-free KA dense fallbacks (issues #112, #53)Possibly taken @dmaldona claimed this 12 days ago. Opentask
Difficulty 5/5 Over a week Newbie friendliness 12/100
exanauts/SparseDirectSolver.jl#118 ·
Maintainers usually reply within 1 day
-
task
Difficulty 5/5 Over a week Newbie friendliness 8/100
exanauts/SparseDirectSolver.jl#116 ·
Maintainers usually reply within 1 day
All issues in exanauts/SparseDirectSolver.jl
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
io
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
-
docs
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
JuliaGPU/GPUArrays.jl#837 ·
Maintainers usually reply within 1 day