flashinfer.cake_mhc_train.CakeMHCTrainPrepareFunction¶
- class flashinfer.cake_mhc_train.CakeMHCTrainPrepareFunction(*args, **kwargs)¶
Autograd node of
forward_prepare:forward(X, fn, scale, base, state) -> (U, *edges).Its backward is
backward_finish: it receivesdUfrom the external branch and, as the gradients of the edges (outputs the finish node takes as inputs),dYand the gradient statistics from the finish node’s backward; it returns the single-castdX(mapping, collapse and residual-mixing contributions summed in FP32) and the FP32 parameter gradients; the finish node returns no gradient forX.- __init__(*args, **kwargs)¶
Methods
__init__(*args, **kwargs)applybackward(ctx, dU, dY, grad_stats[, stats])Define a formula for differentiating the operation with backward mode automatic differentiation.
forward(ctx, X, fn, scale, base, state)Define the forward of the custom autograd Function.
jvp(ctx, *grad_inputs)Define a formula for differentiating the operation with forward mode automatic differentiation.
mark_dirty(*args)Mark given tensors as modified in an in-place operation.
mark_non_differentiable(*args)Mark outputs as non-differentiable.
mark_shared_storage(*pairs)maybe_clear_saved_tensorsnameregister_hookregister_prehooksave_for_backward(*tensors)Save given tensors for a future call to
backward().save_for_forward(*tensors)Save given tensors for a future call to
jvp().set_materialize_grads(value)Set whether to materialize grad tensors.
set_output_grad_dtype(*dtypes)Declare the gradient dtype for each of this Function's outputs.
setup_context(ctx, inputs, output)There are two ways to define the forward pass of an autograd.Function.
vjp(ctx, *grad_outputs)Define a formula for differentiating the operation with backward mode automatic differentiation.
vmap(info, in_dims, *args)Define the behavior for this autograd.Function underneath
torch.vmap().Attributes
boxed_grads_callclear_saved_tensors_on_accessBool that specifies if backward should receive grads as a single mutable list argument instead of individual args in an immutable tuple.
dirty_tensorsgenerate_vmap_rulematerialize_gradsmetadataneeds_input_gradnext_functionsnon_differentiableoutput_grad_dtypesrequires_gradsaved_for_forwardsaved_tensorssaved_variablesto_save