EnzymeAD/Enzyme.jl

enzyme_sparse_accumulate and co in Julia

Ouverte

#1 947 ouverte le 9 oct. 2024

 (0 commentaire) (0 réaction) (0 personne assignée)Julia (96 forks)batch import
help wanted

Métriques du dépôt

Stars
 (563 étoiles)
Métriques de merge PR
 (Merge moyen 5j 1h) (76 PRs mergées en 30 j)

Description

What would we need to do to define support for sparse operations/jacobians in Enzyme.jl?

using Enzyme
using SparseArrays

julia> Enzyme.jacobian(Enzyme.Forward, x->sum(abs2, x, dims=2), sprandn(12, 0.5))
12×12 Matrix{Float64}:
  0.0       0.0       0.0      0.0     0.0     0.0     0.0     0.0      0.0  0.0  0.0  0.0
 -1.88261  -1.88261   0.0      0.0     0.0     0.0     0.0     0.0      0.0  0.0  0.0  0.0
  0.0       0.0      -3.04331  0.0     0.0     0.0     0.0     0.0      0.0  0.0  0.0  0.0
  0.0       0.0       0.0      0.0     0.0     0.0     0.0     0.0      0.0  0.0  0.0  0.0
  0.0       0.0       0.0      0.0     0.0     0.0     0.0     0.0      0.0  0.0  0.0  0.0
  0.0       0.0       0.0      0.0     0.0     0.0     0.0     0.0      0.0  0.0  0.0  0.0
  0.0       0.0       0.0      1.2327  1.2327  1.2327  1.2327  0.0      0.0  0.0  0.0  0.0
  0.0       0.0       0.0      0.0     0.0     0.0     0.0     1.63961  0.0  0.0  0.0  0.0
  0.0       0.0       0.0      0.0     0.0     0.0     0.0     0.0      0.0  0.0  0.0  0.0
  0.0       0.0       0.0      0.0     0.0     0.0     0.0     0.0      0.0  0.0  0.0  0.0
  0.0       0.0       0.0      0.0     0.0     0.0     0.0     0.0      0.0  0.0  0.0  0.0
  0.0       0.0       0.0      0.0     0.0     0.0     0.0     0.0      0.0  0.0  0.0  0.0

Guide contributeur