Implement `Cache` for Enzyme reverse mode
还没有人认领这个 Issue。
评估
调研方向
从报告中的 test_differentiation 调用里的 Enzyme reverse-mode 场景,以及堆栈跟踪中显示的 playground.jl 位置开始。启用 logging 后重现该故障,然后验证 cachified 场景能够成功,同时不会让 Julia 的 REPL 处于无法解析 get_binding_type 的状态。
由索引模型根据 Issue 内容生成。
描述
At the moment this seems to break the REPL:
using DifferentiationInterface, DifferentiationInterfaceTest
import DifferentiationInterfaceTest as DIT
using Enzyme: Enzyme
scens = filter(
s -> (
DIT.function_place(s) == :out &&
DIT.operator_place(s) == :in &&
DIT.operator(s) == :pullback &&
s.x isa Vector &&
s.y isa Vector &&
length(s.x) == 1 &&
s.tang isa NTuple{2}
),
default_scenarios(;
include_normal=false, include_constantified=false, include_cachified=true
),
)
test_differentiation(AutoEnzyme(; mode=Enzyme.Reverse), scens; logging=true) # fails
After I run it, the behavior of Julia itself is altered:
julia> a = 1
ERROR: UndefVarError: `get_binding_type` not defined in `Core`
Suggestion: check for spelling errors or missing imports.
Stacktrace:
[1] top-level scope
@ ~/Documents/GitHub/Julia/DifferentiationInterface.jl/DifferentiationInterface/test/Back/Enzyme/playground.jl:21
- 主要语言
- Julia
- 星标
- 317
- 派生
- 38
- 平均合并
- 7 小时 36 分钟
- 30 天内合并 PR
- 4
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
JuliaDiff/DifferentiationInterface.jl 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
JuliaDiff/DifferentiationInterface.jl#1069 · 1 条评论 ·
-
bot
难度 2/5 1-3 小时 新手友好度 68/100
JuliaDiff/DifferentiationInterface.jl#1011 · 3 条评论 ·
-
难度 4/5 3-5 天 新手友好度 48/100
-
AutoEnzyme Jacobian preparation scalar-indexes Reactant traced arrays可能重新可做 关联的 PR 已关闭且未合并。 未关闭backend wontfix
难度 4/5 3-5 天 新手友好度 52/100
JuliaDiff/DifferentiationInterface.jl#1066 · 10 条评论 ·
-
难度 4/5 3-5 天 新手友好度 48/100
查看 JuliaDiff/DifferentiationInterface.jl 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
FluxML/Metalhead.jl#407 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 88/100
SciML/ModelingToolkit.jl#5371 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 73/100
维护者通常 1 天内回复
-
GNNLux MEGNetConv drops the state of stateful sublayers可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭lux
难度 2/5 1-3 小时 新手友好度 76/100
JuliaGraphs/GraphNeuralNetworks.jl#732 ·
维护者通常 2 天内回复
-
query handling with arrays has changed between 1.x and 2.x可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复