pub struct KernelCaps {
pub w8a8_decode: bool,
pub w8a8_moe_decode: bool,
pub w8a8_block_scaled_decode: bool,
pub fp8_lm_head_batched: bool,
}Expand description
2026-09-28: Which kernels the policy may rely on. The W8A8 decode family reports its
presence here (metrale_model_layers::layers::kernel_caps).
Fields§
§w8a8_decode: bool2026-09-28: A per-token E4M3 activation quantizer plus E4M3xE4M3 small-M GEMMs for the dense and non-expert projections. Until they land, an FP8-declared layer served at its FP8 weights runs the W8A16 kernels: its activations are above the declared precision.
w8a8_moe_decode: bool2026-09-28: The same for MoE experts (routed and shared), whose grouped kernels land
separately (is_expert_module).
w8a8_block_scaled_decode: bool2026-09-28: The W8A8 decode of non-expert projections whose FP8 weights are 128x128
block-scaled (HF fp8, e.g. the attention and GDN of Qwen3.6-35B-A3B-FP8), validated
separately from the per-channel dense family
(WeightQuantPolicy::fp8_block_scaled_decode_act).
fp8_lm_head_batched: bool2026-09-28: An FP8 lm_head that serves every decode row count in one pass. The FP8
head today launches once per row, which collapses throughput at width (C16 88.9 tok/s
against 200.0 on the NVFP4 head, C128 not finishing), so declared takes a declared
FP8 head only once this is set (LmHeadChoice::PendingFp8Kernel).
Trait Implementations§
Source§impl Clone for KernelCaps
impl Clone for KernelCaps
Source§fn clone(&self) -> KernelCaps
fn clone(&self) -> KernelCaps
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for KernelCaps
impl Debug for KernelCaps
Source§impl Default for KernelCaps
impl Default for KernelCaps
Source§fn default() -> KernelCaps
fn default() -> KernelCaps
Source§impl PartialEq for KernelCaps
impl PartialEq for KernelCaps
impl Copy for KernelCaps
impl Eq for KernelCaps
impl StructuralPartialEq for KernelCaps
Auto Trait Implementations§
impl Freeze for KernelCaps
impl RefUnwindSafe for KernelCaps
impl Send for KernelCaps
impl Sync for KernelCaps
impl Unpin for KernelCaps
impl UnwindSafe for KernelCaps
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.