I use automatic differentiation by Enzyme.jl.
What are the functions of the two APIs, maxtypeoffset! and maxtypedepth! ?
I want to use these APIs to stabilize the operation of the Enzyme.jl.
-
maxtypeoffset!
What is the maximum offset to type that Enzyme considers?
The default is 512, is this the value of memory used?
For example, what happens if we change from 512 to 1024? -
maxtypedepth!
Does this depth mean the depth that can be nested in the structure?
It is my understanding that the depth is 2 when the automatic differentiation is applied to the calculation involving structure B in the following cases.
I believe that if there are more nests than this depth, the Enzyme will not be able to check the type well.
struct A
val::Float64
end
struct B
a::A
end
If anyone knows, I would appreciate it if you could let me know.