/** * mamba1_block.ts – Mamba-1 Mixer Block (S6 selective scan). * * Renamed from mamba_block.ts; MambaBlock is kept as a deprecated alias. * Implements SequenceLayer so HybridMambaModel can iterate blocks generically. */ import type { SequenceLayer, LayerForwardResult, LayerParam } from './sequence_layer.js'; export interface Mamba1BlockConfig { dModel: number; dState?: number; dConv?: number; expand?: number; dtRank?: number; biasConv?: boolean; } /** @deprecated Use LayerParam */ export type BlockParam = LayerParam; 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 extends LayerForwardResult { output: GPUBuffer; cache: BlockCache; } export declare class Mamba1Block implements SequenceLayer { readonly layerType: "mamba1"; 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: Mamba1BlockConfig); private _initWeights; private _uploadWeightsToGPU; private _buildPipelines; forward(xBuf: GPUBuffer, batch: number, seqLen: number): BlockForwardResult; parameters(): LayerParam[]; getTrainableParams(): LayerParam[]; setWSLAMode(enabled: boolean): void; destroy(): void; } export { Mamba1Block as MambaBlock }; /** @deprecated Use Mamba1BlockConfig */ export type MambaBlockConfig = Mamba1BlockConfig; //# sourceMappingURL=mamba1_block.d.ts.map