-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Labels
performanceSpeeding things upSpeeding things up
Description
At the moment, our only optimized decompression is for SparseMatrixCSC in :direct mode: we store a vector of compressed_indices such that nonzeros(A) = vec(B)[compressed_indices].
We can probably find a similar optimization for :substitution mode.
What do we want to do for other matrix types, like:
- the ones from
LinearAlgebra:Bidiagonal,Tridiagonal,Symmetric, etc. - BandedMatrices.jl, BlockBandedMatrices.jl
It would be rather tiring to find optimal decompression methods for each of these. My proposal (as a first step) would be to always have a SparseMatrixCSC buffer into which we decompress, and then copy the A_buffer::SparseMatrixCSC into A::SomeWeirdMatrix.
Essentially, it's easier to implement fast copy from SparseMatrixCSC than fast decompression.
Related:
amontoison
Metadata
Metadata
Assignees
Labels
performanceSpeeding things upSpeeding things up