Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Optimized decompression for specific matrix types

Aberta
#64 2 comentários 2 reações 0 responsáveis Ver no GitHub

@gdalle já está trabalhando nisso.

Desde 3/10/2024.

  • #132 de @gdalle — fechado sem integrar
  • #139 de @gdalle — aberto

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
30/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
julia
Domínio
data, performance

Direção de pesquisa

Comece lendo o caminho existente de descompressão de SparseMatrixCSC para o modo :direct e, em seguida, revise as issues relacionadas #65 e #44. A direção proposta é descomprimir em um buffer SparseMatrixCSC e copiar para outros tipos de matriz, mas os tipos de matriz compatíveis e os critérios de conclusão ainda precisam ser decididos.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

performance

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:

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
Linguagem predominante
Julia
Estrelas
46
Forks
14
Merge médio
6h 30min
PRs com merge (30d)
2

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de JuliaDiff/SparseMatrixColorings.jl

Todas as issues de JuliaDiff/SparseMatrixColorings.jl

Issues semelhantes

Mais issues de Julia

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.