Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MethodError: no method matching reverse in Checkpointing.jl #2094

Open
michel2323 opened this issue Nov 14, 2024 · 2 comments
Open

MethodError: no method matching reverse in Checkpointing.jl #2094

michel2323 opened this issue Nov 14, 2024 · 2 comments

Comments

@michel2323
Copy link
Collaborator

Checkpointing.jl is broken using Revolve with any Enzyme version > 0.13.13 . I did a git bisect which points to this commit 04dcea7 . The error message is:

ERROR: LoadError: MethodError: no method matching reverse(::RevConfigWidth{1, false, false, (false, false, false, false, false), false}, ::Const{typeof(checkpoint_struct_for2)}, ::Type{Const{Heat}}, ::Tuple{Heat}, ::Const{var"#foo#2"}, ::Const{Revolve{Heat}}, ::Duplicated{Heat}, ::Const{UnitRange{Int64}})

Closest candidates are:
  reverse(::Any, ::Const{typeof(checkpoint_struct_for2)}, ::Any, ::Any, ::Any, ::Any, ::Any, ::Any)
   @ Main /disk/mschanen/julia_depot/dev/Checkpointing/mwe.jl:63

I do not understand why it can't pick up the reverse rule. If I comment out dead code inside the rule, it is suddenly picked up, and Checkpointing works fine. I tried to create an MWE independent of Checkpointing.jl, but I have been unable to.

@wsmoses
Copy link
Member

wsmoses commented Nov 16, 2024

odd, can you post an mwe?

@michel2323
Copy link
Collaborator Author

I tried to create an MWE, but it just wouldn't make sense. It's a combination of using HDF5.jl in the rule and code doing something where I just can't figure out the pattern. For now, I have refactored that code in Checkpointing.jl and removed HDF5 from the rule. If I have time, I'll look into creating an MWE using only HDF5.jl.

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

No branches or pull requests

2 participants