Allow CSR-Style Offsets as an Alternative Encoding for Unstructured Topologies
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 248
- Forks
- 72
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 15
Description
We’ve run into a recurring issue in Catalyst/VTK when consuming Conduit Mesh Blueprint data for unstructured topologies. The Blueprint currently uses two arrays, sizes and offsets, both of length num_cells. Many downstream consumers (VTK, Viskores, GPU kernels, sparse/irregular codes) instead expect a CSR-style prefix-sum array of length num_cells + 1, where the last entry equals the total connectivity length.
Because Conduit does not currently allow a CSR-style representation, Catalyst has to allocate a new array and compute these offsets internally. That defeats zero-copy handling of connectivity, especially for GPU-resident meshes where the original data already exists in the required form.
We would like to ask whether the Mesh Blueprint could optionally accept a CSR-style encoding instead of sizes + offsets. Something like:
topologies:
topo:
type: unstructured
coordset: coords
elements:
shape: poly
connectivity: [...]
csr_offsets: [...]
This would not add redundant data. It would simply allow the producer to supply the format many consumers already use, and avoid the extra copy.
Would the Blueprint team be open to discussing this? We can provide examples, reasoning, or a prototype PR if helpful.
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
The issue names no files, tests, or entry points. Start by locating the Mesh Blueprint implementation and validation for unstructured topologies, then compare the existing sizes/offsets representation with the proposed CSR-style form; done would require an agreed encoding contract and corresponding implementation and tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100