pub struct QuantizePerTokenBackwardPlan<TIn: Element> { /* private fields */ }Expand description
quantize_per_token backward plan.
STE: dx[n, d] = (dy[n, d] / scale[n]) * 1[qmin ≤ round(x[n,d]/scale[n])+zp[n] ≤ qmax].
Mask recomputed in-kernel.
When to use: backward for
QuantizePerTokenPlan. Caller
retains FW input, scale, zero_point.
Dtypes: gradients in {f32, f64, f16, bf16}; no int output —
hence the single-type-parameter signature.
Shape limits: rank-2 [N, D]; per-row scale and zp of
length N.
Workspace: none.
Precision guarantee: deterministic, bit-stable.
Implementations§
Source§impl<TIn: Element> QuantizePerTokenBackwardPlan<TIn>
impl<TIn: Element> QuantizePerTokenBackwardPlan<TIn>
Sourcepub fn select(
_stream: &Stream,
desc: &QuantizePerTokenBackwardDescriptor,
_pref: PlanPreference,
) -> Result<Self>
pub fn select( _stream: &Stream, desc: &QuantizePerTokenBackwardDescriptor, _pref: PlanPreference, ) -> Result<Self>
Pick a kernel for desc.
Sourcepub fn can_implement(
&self,
args: &QuantizePerTokenBackwardArgs<'_, TIn>,
) -> Result<()>
pub fn can_implement( &self, args: &QuantizePerTokenBackwardArgs<'_, TIn>, ) -> Result<()>
Validate args.
Sourcepub fn workspace_size(&self) -> usize
pub fn workspace_size(&self) -> usize
Workspace bytes — none.
Sourcepub fn precision_guarantee(&self) -> PrecisionGuarantee
pub fn precision_guarantee(&self) -> PrecisionGuarantee
Numerical guarantees.
Auto Trait Implementations§
impl<TIn> Freeze for QuantizePerTokenBackwardPlan<TIn>
impl<TIn> RefUnwindSafe for QuantizePerTokenBackwardPlan<TIn>where
TIn: RefUnwindSafe,
impl<TIn> Send for QuantizePerTokenBackwardPlan<TIn>where
TIn: Send,
impl<TIn> Sync for QuantizePerTokenBackwardPlan<TIn>where
TIn: Sync,
impl<TIn> Unpin for QuantizePerTokenBackwardPlan<TIn>where
TIn: Unpin,
impl<TIn> UnsafeUnpin for QuantizePerTokenBackwardPlan<TIn>
impl<TIn> UnwindSafe for QuantizePerTokenBackwardPlan<TIn>where
TIn: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more