/** * mamba_block.ts – Mamba Mixer Block */ export interface MambaBlockConfig { dModel: number; dState?: number; dConv?: number; expand?: number; dtRank?: number; biasConv?: boolean; } export interface BlockParam { buf: GPUBuffer; numel: number; name: string; } export interface BlockCache { normInv: GPUBuffer; normIn: GPUBuffer; normOut: GPUBuffer; zBuf: GPUBuffer; xConvIn: GPUBuffer; convOut: GPUBuffer; siluOut: GPUBuffer; deltaFull: GPUBuffer; B_raw: GPUBuffer; C_raw: GPUBuffer; hCache: GPUBuffer; } export interface BlockForwardResult { output: GPUBuffer; cache: BlockCache; } export declare class MambaBlock { device: GPUDevice; config: Required; dInner: number; dtRank: number; wInProj: Float32Array; bInProj: Float32Array; wConv: Float32Array; bConv: Float32Array; wXProj: Float32Array; bXProj: Float32Array; wDtProj: Float32Array; bDtProj: Float32Array; A_log: Float32Array; D_vec: Float32Array; wOutProj: Float32Array; bOutProj: Float32Array; normWeight: Float32Array; gpuWeights: Record; pipelines: Record; private _wslaMode; constructor(device: GPUDevice, config: MambaBlockConfig); private _initWeights; private _uploadWeightsToGPU; private _buildPipelines; forward(xBuf: GPUBuffer, batch: number, seqLen: number): BlockForwardResult; parameters(): BlockParam[]; setWSLAMode(enabled: boolean): void; getTrainableParams(): BlockParam[]; } //# sourceMappingURL=mamba_block.d.ts.map