pub struct Glm5NextDsaLayerKernels {
pub gemm: KernelHandle,
pub gemm_f32: KernelHandle,
pub gemv: KernelHandle,
pub gemv_f32: KernelHandle,
pub gemv_batchm: KernelHandle,
pub rms_norm: KernelHandle,
pub latent_write: KernelHandle,
}Expand description
2026-09-25: The projection, norm and latent-write kernels of a DSA block. The selection
kernels are in Glm5NextDsaKernels, the decode kernel in attend.
Fields§
§gemm: KernelHandle2026-09-25: dense_gemm_bf16, C = A @ B^T, BF16 out.
gemm_f32: KernelHandle2026-09-25: The same with FP32 out, for the selector’s q_idx and head weights.
gemv: KernelHandle2026-09-25: M = 1 kernels for gemm and gemm_f32. gemv_f32 is KernelHandle(0)
on a target without dense_gemv_bf16_fp32out, and dense_mm_bf16 then uses the tile
GEMM.
gemv_f32: KernelHandle§gemv_batchm: KernelHandle2026-09-25: dense_gemv_bf16_batchm: 2..=DENSE_GEMV_BATCHM_MAX_M rows in one pass
over the weight; KernelHandle(0) when the target lacks it.
rms_norm: KernelHandle2026-09-25: rms_norm_vanilla; see the module header.
latent_write: KernelHandle2026-09-25: glm5next_mla_latent_write_fp8: RMSNorm, FP8 quantisation and the paged
slot write of the KV latent.
Implementations§
Source§impl Glm5NextDsaLayerKernels
impl Glm5NextDsaLayerKernels
pub fn resolve(gpu: &dyn GpuBackend) -> Result<Self>
Trait Implementations§
Source§impl Clone for Glm5NextDsaLayerKernels
impl Clone for Glm5NextDsaLayerKernels
Source§fn clone(&self) -> Glm5NextDsaLayerKernels
fn clone(&self) -> Glm5NextDsaLayerKernels
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 Glm5NextDsaLayerKernels
Auto Trait Implementations§
impl Freeze for Glm5NextDsaLayerKernels
impl RefUnwindSafe for Glm5NextDsaLayerKernels
impl Send for Glm5NextDsaLayerKernels
impl Sync for Glm5NextDsaLayerKernels
impl Unpin for Glm5NextDsaLayerKernels
impl UnwindSafe for Glm5NextDsaLayerKernels
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