WeightQuantTier

Struct WeightQuantTier 

Source
pub struct WeightQuantTier { /* private fields */ }
Expand description

2026-09-28: What the serve publishes: the tier and, under nvfp4, its W4A4 lever.

Implementations§

Source§

impl WeightQuantTier

Source

pub fn new(tier: WeightQuantization, downcast: W4a4Downcast) -> Result<Self>

2026-09-28: The nvfp4 tier with its W4A4 lever. A declared tier refuses a lever: the checkpoint already decides every layer’s activations there.

Source

pub fn tier(self) -> WeightQuantization

2026-09-28: The tier.

Source

pub fn downcast(self) -> W4a4Downcast

2026-09-28: The nvfp4 tier’s W4A4 lever; always Off under declared.

Source

pub fn uses_w4a4_decode(self) -> bool

2026-09-28: Whether decode may take the FP4 block-scale projection path at all, so its kernels and activation scratch are prepared.

Source

pub fn w4a4_rows( self, act: Nvfp4Act, narrow_rows: u32, wide_rows: u32, kernel_rows: u32, ) -> u32

2026-09-28: The widest row count the W4A4 path serves for a weight stamped act, given kernel_rows, the widest the prepared kernels serve (0 when absent). 0 means the weight’s decode activations stay 16-bit.

Under nvfp4 the lever decides for every weight alike: 32 rows, or 64 with -wide. Under declared a weight stamped Nvfp4Act::A4 runs W4A4 at every row count the kernels serve, and any other weight runs 16-bit activations.

Source

pub fn ffn_small_batch_w4a4(self, any_a4: bool) -> bool

2026-09-28: Whether a dense FFN whose gate, up or down is stamped act sends its 2- and 3-row decode steps through the W4A4 projections. Under declared the stamps decide; under nvfp4 the lever does, as --w4a4-downcast always has.

Source

pub fn ffn_single_row_w4a4(self, any_a4: bool) -> bool

2026-09-28: Whether a dense FFN runs its single decode row W4A4. Only declared does, and only for an FFN that declares FP4 activations; --w4a4-downcast never reached the single row.

Trait Implementations§

Source§

impl Clone for WeightQuantTier

Source§

fn clone(&self) -> WeightQuantTier

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for WeightQuantTier

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for WeightQuantTier

Source§

fn default() -> WeightQuantTier

Returns the “default value” for a type. Read more
Source§

impl PartialEq for WeightQuantTier

Source§

fn eq(&self, other: &WeightQuantTier) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for WeightQuantTier

Source§

impl Eq for WeightQuantTier

Source§

impl StructuralPartialEq for WeightQuantTier

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.