EnzymeAD/Enzyme.jl

enzyme_sparse_accumulate and co in Julia

開放

#1,947 建立於 2024年10月9日

 (0 則留言) (0 個反應) (0 位負責人)Julia (96 個分叉)batch import
help wanted

倉庫指標

星標
 (563 顆星)
PR 合併指標
 (平均合併 5天 1小時) (30 天內合併 76 個 PR)

描述

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

貢獻者指南