Replace the hardcoded per-backend _hvp_strategy list with dispatch on DI's pushforward_performance / pullback_performance traits, i.e. choose ForwardOnGrad when the backend reports forward-mode support and ReverseOnGrad when it's reverse-only, mirroring how DI's hvp_mode derives its mode from those same traits, rather than enumerating AutoMooncake/AutoZygote/… by hand.
Should also think about how reverse-over-forward will work.
See this discussion for context, and this DI code.
Replace the hardcoded per-backend
_hvp_strategylist with dispatch on DI'spushforward_performance/pullback_performancetraits, i.e. chooseForwardOnGradwhen the backend reports forward-mode support andReverseOnGradwhen it's reverse-only, mirroring how DI's hvp_mode derives its mode from those same traits, rather than enumerating AutoMooncake/AutoZygote/… by hand.Should also think about how reverse-over-forward will work.
See this discussion for context, and this DI code.