SciMLSensitivity.jl icon indicating copy to clipboard operation
SciMLSensitivity.jl copied to clipboard

Add try catch of Enzyme

Open wsmoses opened this issue 1 year ago • 0 comments

Now with some of the latest updates, Enzyme will throw specific errors for why it cannot differentiate a function.

Scimlsensitivity should use these errors to select the particular way to use enzyme.

For example,

autodiff(mode, f, args...) could throw a mutability error which necessitates the (current default) use of autodiff(mode, Duplicated(f,make_zero(f)), args...)

Similarly it could throw a runtime activity error which necessitates the use of autodiff(set_runtime_activity(mode), ...)

This way scimlsensitivity can use enzyme for as much as possible [and at maximum performance]

wsmoses avatar Sep 28 '24 03:09 wsmoses