`gradient!` allocates for matrices but not for vectors
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- julia
- Domínio
- performance
Direção de pesquisa
Reproduza os benchmarks de vetores e matrizes da issue usando ForwardDiff e Chairmarks. Comece rastreando a chamada gradient! e comparando seu comportamento para entradas de vetor e de matriz, especialmente verificando se há views envolvidas. A tarefa estará concluída quando as alocações que ocorrem apenas com matrizes forem identificadas e resolvidas, e o benchmark mostrar o comportamento de alocação resultante.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Is it due to views?
julia> using ForwardDiff, Chairmarks
julia> g(x) = sum(abs2, x)
g (generic function with 1 method)
julia> @be (zeros(2), zeros(2), ForwardDiff.GradientConfig(g, zeros(2))) ForwardDiff.gradient!(_[1], g, _[2], _[3])
Benchmark: 3548 samples with 1255 evaluations
min 18.855 ns
median 19.215 ns
mean 19.753 ns
max 62.914 ns
julia> @be (zeros(2, 2), zeros(2, 2), ForwardDiff.GradientConfig(g, zeros(2, 2))) ForwardDiff.gradient!(_[1], g, _[2], _[3])
Benchmark: 2765 samples with 365 evaluations
min 67.745 ns (4 allocs: 160 bytes)
median 77.912 ns (4 allocs: 160 bytes)
mean 87.240 ns (4 allocs: 160 bytes)
max 220.408 ns (4 allocs: 160 bytes)
- Linguagem predominante
- Julia
- Estrelas
- 1k
- Forks
- 165
- Merge médio
- 8d 22h
- PRs com merge (30d)
- 3
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
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de JuliaDiff/ForwardDiff.jl
-
missing floatmin, floatmax, and issubnormal for DualTalvez já em andamento @devmotion assumiu há 34 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
JuliaDiff/ForwardDiff.jl#852 · 6 comentários ·
Mantenedores costumam responder em até 1 dia
-
`min` does not return the minimum with respect to `isless` when values tieTalvez já em andamento @devmotion assumiu há 8 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
JuliaDiff/ForwardDiff.jl#868 ·
Mantenedores costumam responder em até 1 dia
-
Enable NaN-safe mode by defaultTalvez já em andamento @devmotion assumiu há 22 dias. Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
JuliaDiff/ForwardDiff.jl#857 · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
JuliaDiff/ForwardDiff.jl#854 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 75/100
JuliaDiff/ForwardDiff.jl#849 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de JuliaDiff/ForwardDiff.jl
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Sienna-Platform/InfrastructureSystems.jl#675 ·
Mantenedores costumam responder em até 2 dias
-
TargetEncoder reuses the first level's shrinkage factor for all levels when m > 0Talvez já em andamento @parth-patel010 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
JuliaAI/MLJTransforms.jl#95 · 1 comentário ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
SciML/RecursiveArrayTools.jl#687 ·
Mantenedores costumam responder em até 3 dias
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 65/100
SciML/LinearSolve.jl#1412 ·
Mantenedores costumam responder em até 8 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
SciML/Corleone.jl#179 ·
Mantenedores costumam responder em até 1 dia