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
TuringLang/DynamicPPL.jl#799 re-highlighted a problem that causes Mooncake.jl to fail in specific situations in DynamicPPL (specific VarInfos). Happily, this just appears to be a problem with the rrule!! for atomic_pointerset, not anything more widespread. See https://github.com/TuringLang/DynamicPPL.jl/actions/runs/13218146414/job/36899908042?pr=799 . In particular, it looks like I basically hadn't considered the possibility that you might be setting a pointer-to-a-pointer when I wrote the rule, and therefore failed to consider that zero_tangent would not work. Moreover, this is implementation is simply incorrect for pointers (they have fdata), so it is a good thing that it errors loudly.
The fix would be to modify atomic_pointerset to account for the fact that the thing being pointed to might have fdata associated to it, and to not construct a zero_tangent if so. I should probably also check this case for pointerset, as I imagine that I made the same mistake there.
The text was updated successfully, but these errors were encountered:
TuringLang/DynamicPPL.jl#799 re-highlighted a problem that causes Mooncake.jl to fail in specific situations in DynamicPPL (specific
VarInfo
s). Happily, this just appears to be a problem with therrule!!
foratomic_pointerset
, not anything more widespread. See https://github.com/TuringLang/DynamicPPL.jl/actions/runs/13218146414/job/36899908042?pr=799 . In particular, it looks like I basically hadn't considered the possibility that you might be setting a pointer-to-a-pointer when I wrote the rule, and therefore failed to consider thatzero_tangent
would not work. Moreover, this is implementation is simply incorrect for pointers (they have fdata), so it is a good thing that it errors loudly.The fix would be to modify
atomic_pointerset
to account for the fact that the thing being pointed to might have fdata associated to it, and to not construct azero_tangent
if so. I should probably also check this case forpointerset
, as I imagine that I made the same mistake there.The text was updated successfully, but these errors were encountered: