pub enum Glm5NextMixer {
Kda {
layer: Box<Glm5NextKdaLayer>,
ws: Arc<Glm5NextKdaWorkspace>,
cfg: Glm5NextKdaConfig,
},
Dsa(Box<Glm5NextDsaLayer>),
}Expand description
Which mixer this layer runs. Both halves already exist and are GPU-gated; this enum is the dispatch, not new math.
🪤 KDA’s decode/prefill are inherent methods with their own signature, not the
TransformerLayer ones — they take a &KdaSeqState and a workspace and leave the result in
ws.final_out. DSA’s decode is the trait method and writes its result back into the
buffer it was handed. The two conventions differ; this is where they are reconciled.
Variants§
Kda
Fields
§
layer: Box<Glm5NextKdaLayer>§
ws: Arc<Glm5NextKdaWorkspace>Shared across every KDA layer — all 34 have identical geometry, so one workspace
serves them all. Arc because the layers are independent owners.
§
cfg: Glm5NextKdaConfigDsa(Box<Glm5NextDsaLayer>)
Auto Trait Implementations§
impl Freeze for Glm5NextMixer
impl RefUnwindSafe for Glm5NextMixer
impl Send for Glm5NextMixer
impl Sync for Glm5NextMixer
impl Unpin for Glm5NextMixer
impl UnwindSafe for Glm5NextMixer
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