You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Umbrella for the three open Enzyme-rule issues. The exchange and BC sweeps have declared-transpose rules over raw storage (_exchange_storage! / _bc_storage! + BlockLayout); the operator sweeps do not, one crash is fixed but not root-caused, and none of it is tested on a GPU or a packed field.
fix(ad): Enzyme rule on single-grid apply_bc! segfaults on Linux x86_64 #40 — confirm that an allocating rule body is what segfaulted on Linux x86_64. Two changes landed together, so the cause is not isolated; an MWE upstream would turn "rule bodies must not allocate" from folklore into a documented constraint.
A rule is an exact substitution of a declared transpose, never an approximation, and never fires on a path carrying operator parameters (ScalingOp, Advection with a Field coefficient) — test/autodiff.jl guards dκ.
Rule arguments may not mix GC pointers with inline floats (Julia 1.12 calling convention); rule bodies may not allocate.
A local macOS/aarch64 green run is not evidence about Linux x86_64. Push and read the CI matrix.
🤖 Beep boop — Claude grouped the rules; Kyle is not differentiating himself.
Umbrella for the three open Enzyme-rule issues. The exchange and BC sweeps have declared-transpose rules over raw storage (
_exchange_storage!/_bc_storage!+BlockLayout); the operator sweeps do not, one crash is fixed but not root-caused, and none of it is tested on a GPU or a packed field.Sub-issues
Invariants that bind every sub-issue
ScalingOp,Advectionwith aFieldcoefficient) —test/autodiff.jlguardsdκ.🤖 Beep boop — Claude grouped the rules; Kyle is not differentiating himself.