pub struct Glm5NextKdaKernels {Show 16 fields
pub gemm: KernelHandle,
pub gemv: KernelHandle,
pub gemv_batchm: KernelHandle,
pub conv_decode: KernelHandle,
pub conv_prefill: KernelHandle,
pub l2: KernelHandle,
pub gate: KernelHandle,
pub chunk_prepare: KernelHandle,
pub chunk_scan: KernelHandle,
pub recurrent: KernelHandle,
pub recurrent_smem: KernelHandle,
pub o_norm: KernelHandle,
pub split_widen: KernelHandle,
pub sigmoid: KernelHandle,
pub fill: KernelHandle,
pub pack: KernelHandle,
}Fields§
§gemm: KernelHandle§gemv: KernelHandle🔴 The DECODE weight kernel. dense_gemm_bf16 tiles 16x16 over (N, M); at M=1 the
grid collapses and it measured 58 GB/s against a 254 GB/s part — 32 % of the whole
GLM decode step (2026-08-28 profile). Every KDA projection is M=1 at decode.
gemv_batchm: KernelHandle🔴 The BATCHED weight kernel, 2 ..= 8 rows in ONE weight sweep. This is what makes a
K-token speculative verify cost one pass over q/k/v/f_a/f_b/g_a/g_b/o instead of K.
0 on a backend without it — ops::dense_mm_bf16 then falls back to the tile GEMM.
conv_decode: KernelHandle§conv_prefill: KernelHandle§l2: KernelHandle§gate: KernelHandle§chunk_prepare: KernelHandle§chunk_scan: KernelHandle§recurrent: KernelHandle§recurrent_smem: KernelHandle1R+1W sibling of recurrent, bit-identical: the decayed state column lives in
shared memory between the two passes instead of being re-read from global.
try_kernel — a target without it falls back to the 2R+2W kernel.
o_norm: KernelHandle§split_widen: KernelHandle§sigmoid: KernelHandle§fill: KernelHandle§pack: KernelHandleImplementations§
Source§impl Glm5NextKdaKernels
impl Glm5NextKdaKernels
pub const ENTRY_POINTS: usize = 14
pub fn resolve(gpu: &dyn GpuBackend) -> Result<Self>
Trait Implementations§
Source§impl Clone for Glm5NextKdaKernels
impl Clone for Glm5NextKdaKernels
Source§fn clone(&self) -> Glm5NextKdaKernels
fn clone(&self) -> Glm5NextKdaKernels
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for Glm5NextKdaKernels
Auto Trait Implementations§
impl Freeze for Glm5NextKdaKernels
impl RefUnwindSafe for Glm5NextKdaKernels
impl Send for Glm5NextKdaKernels
impl Sync for Glm5NextKdaKernels
impl Unpin for Glm5NextKdaKernels
impl UnwindSafe for Glm5NextKdaKernels
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