JuliaSIMD / JuliaSIMD/LoopVectorization.jl

Hook into Zygote.jl?

Abierto
#108 2 comentarios 0 reacciones 0 asignados Ver en GitHub
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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.