Optimized decompression for specific matrix types
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 30/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- julia
- 领域
- data, performance
调研方向
首先阅读现有的、用于 :direct 模式的 SparseMatrixCSC 解压缩路径,然后查看相关 issue #65 和 #44。建议的方向是解压缩到 SparseMatrixCSC 缓冲区中,再复制到其他矩阵类型,但支持的矩阵类型和完成标准仍需决定。
由索引模型根据 Issue 内容生成。
描述
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:
- #65
- #44
- 主要语言
- Julia
- 星标
- 46
- 派生
- 14
- 平均合并
- 6 小时 30 分钟
- 30 天内合并 PR
- 2
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
JuliaDiff/SparseMatrixColorings.jl 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 35/100
JuliaDiff/SparseMatrixColorings.jl#342 · 1 条评论 ·
-
Contributors未关闭wontfix
难度 5/5 一周以上 新手友好度 20/100
JuliaDiff/SparseMatrixColorings.jl#331 · 4 条评论 ·
-
Compiled (trimmed) binaries可能已有人在做 @amontoison 于 41 天前认领。 未关闭
难度 5/5 一周以上 新手友好度 35/100
JuliaDiff/SparseMatrixColorings.jl#329 · 2 条评论 · 2 个 reaction ·
-
Coloring for symmetric banded matrices可能重新可做 @amontoison 于 259 天前认领,目前没有进行中的 PR。 未关闭feature
JuliaDiff/SparseMatrixColorings.jl#302 · 已指派 1 人 ·
-
难度 2/5 1-3 小时 新手友好度 50/100
JuliaDiff/SparseMatrixColorings.jl#301 · 1 条评论 ·
查看 JuliaDiff/SparseMatrixColorings.jl 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
JuliaGPU/KernelAbstractions.jl#897 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
oscar-system/GAP.jl#1455 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
JuliaAI/MLJTransforms.jl#85 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
SciML/OrdinaryDiffEq.jl#4875 ·
维护者通常 4 天内回复