Skip to content

Slice GNNRecurrence input by indexing instead of eachslice views - #707

Merged
CarloLucibello merged 2 commits into
JuliaGraphs:masterfrom
Parvm1102:enzyme-recurrence-slices
Aug 26, 2026
Merged

Slice GNNRecurrence input by indexing instead of eachslice views#707
CarloLucibello merged 2 commits into
JuliaGraphs:masterfrom
Parvm1102:enzyme-recurrence-slices

Conversation

@Parvm1102

Copy link
Copy Markdown
Contributor

Enzyme's type analysis fails when a recurrent cell receives a SubArray view of the
3-d input (DCGRUCell on a plain matrix passes; the same cell inside GNNRecurrence
fails). Indexing the time slice instead of using eachslice fixes this and matches
how the Lux frontend already slices. The copy is one features × nodes slice per step.

Verified under Enzyme: DCGRU, EvolveGCNO, GConvGRU and GConvLSTM now match
Zygote (the latter two also need #706). Zygote/Mooncake temporal tests: 60/60.

Note: TGCN remains unsupported under Enzyme — with the view failure gone it runs into
TGCNCell's known compile hang, so it must stay excluded from Enzyme test runs.

@CarloLucibello
CarloLucibello merged commit 83f49fd into JuliaGraphs:master Aug 26, 2026
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants