SciML / SciML/ComponentArrays.jl
Need better handling of inner arrays
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 375
- Forks
- 42
- Avg merge
- 7h 25m
- Merged PRs (30d)
- 17
Description
A few of the linear algebra fallbacks from fixing #33 are slower than I thought they would be. With the v0.6.6, ComponentArrays now subtype from DenseArray to get the faster BLAS routines without trying to go back to the ambiguity jungle of method forwarding. The problem is we have to give up having inner non-DenseArrays like StaticArrays and similar inner array types for now. This shouldn't be breaking because ComponentArray{SVector{2}}(a = 5, b = 2) was an undocumented feature anyway, but it's definitely something that needs to be fixed. I want gpu and static ComponentArrays and I don't want to make a separate type for them.
Contributor 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.
Research direction
The issue names no file or test; start by reproducing ComponentArray{SVector{2}} and tracing the v0.6.6 DenseArray, BLAS, and inner-array behavior. Done means static and GPU ComponentArrays support inner non-DenseArrays without requiring a separate type, with the resulting behavior covered by tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- data, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100