/** * mamba2_block.ts – Mamba-2 Mixer Block (Structured State Space Duality). * * Key differences from Mamba-1: * - Multi-head SSM with scalar A per head * - Single fused in_proj (no separate dt_proj expansion) * - SSD (chunked) scan replaces S6 selective scan * - Inner RMSNorm on scan output instead of SiLU gate * - No separate z gate * * Implements SequenceLayer. */ import type { SequenceLayer, LayerForwardResult, LayerParam } from './sequence_layer.js'; export interface Mamba2BlockConfig { dModel: number; dState: number; dConv: number; expand: number; nHeads: number; nGroups: number; chunkLen: number; } export interface Mamba2Cache { stateCarry: GPUBuffer; } export declare class Mamba2Block implements SequenceLayer { readonly layerType: "mamba2"; device: GPUDevice; config: Required; dInner: number; dHead: number; gpuWeights: Record; pipelines: Record; private _wslaMode; constructor(device: GPUDevice, config: Mamba2BlockConfig); private _initWeights; private _buildPipelines; forward(xBuf: GPUBuffer, batch: number, seqLen: number): LayerForwardResult; parameters(): LayerParam[]; getTrainableParams(): LayerParam[]; setWSLAMode(enabled: boolean): void; destroy(): void; } //# sourceMappingURL=mamba2_block.d.ts.map