Skip to main content

try_linearize

Function try_linearize 

Source
pub fn try_linearize<Op: Primitive>(
    view: &ResolvedView<Op>,
    outputs: &[ValueKey<Op>],
    wrt: &[Op::InputKey],
    pass: DiffPassId,
    ctx: &mut Op::ADContext,
    aliases: &HashMap<Op::InputKey, ValueKey<Op>>,
) -> ADRuleResult<LinearizedGraph<Op>>
where Op::InputKey: ADKey,
Expand description

Fallible form of linearize.

This returns crate::ADRuleError when a primitive cannot emit a JVP rule, allowing downstream frontends to surface missing extension rules as normal errors instead of panics.