JuliaSIMD / JuliaSIMD/LoopVectorization.jl
Hook into Zygote.jl?
- Lenguaje dominante
- Julia
- Estrellas
- 789
- Forks
- 73
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
I want to take gradient of a vectorized expression, however the adjoint of vmaterialize is not defined.
```
using Zygote
using LoopVectorization
foo(x) = sum(@avx tanh.(x))
x = rand(10, 10)
foo'(x)
```
```
MethodError: no method matching vmaterialize(::Array{Float64,2}, ::Val{:Main})
Closest candidates are:
vmaterialize(::Base.Broadcast.Broadcasted, ::Val{Mod}) where Mod at /BIGDATA1/highchain_ylu_1/shared/.julia/packages/LoopVectorization/MZ8Kb/src/broadcast.jl:283
```
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza reproduciendo el ejemplo proporcionado de Zygote y LoopVectorization, y después inspecciona vmaterialize en src/broadcast.jl alrededor de la línea 283. Sigue cómo se representa el broadcast vectorizado durante la diferenciación. Se considera terminado cuando la llamada mostrada a foo'(x) funciona sin el missing-adjoint MethodError y el comportamiento relevante está cubierto por una prueba.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- julia
- Área
- machine-learning, performance
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100