oa::Mamba3Module

— Mamba-3 selective state space model block Reference: Mamba-3 paper (https://arxiv.org/abs/2603.15569) Based on: https://github.com/state-spaces/mamba (mamba_ssm/modules/mamba3.py)

Public Types

Inheritance

public Module

Public Methods

const oa::Matrix & oa::Mamba3Module::bBias()
const oa::Matrix & oa::Mamba3Module::cBias()
const oa::Matrix & oa::Mamba3Module::d()
oa::I32 oa::Mamba3Module::dInner()
oa::I32 oa::Mamba3Module::dState()
const oa::Matrix & oa::Mamba3Module::dtBias()
oa::I32 oa::Mamba3Module::expand()
oa::Matrix oa::Mamba3Module::forward(const oa::Matrix & inInput)
oa::I32 oa::Mamba3Module::headDim()
const oa::Matrix & oa::Mamba3Module::inProj()
bool oa::Mamba3Module::isMimo()
bool oa::Mamba3Module::isOutprojNorm()
oa::I32 oa::Mamba3Module::mimoRank()
oa::I32 oa::Mamba3Module::nGroups()
oa::I32 oa::Mamba3Module::nHeads()
const oa::Matrix & oa::Mamba3Module::normWeight()
oa::I32 oa::Mamba3Module::numRopeAngles()
const oa::Matrix & oa::Mamba3Module::outProj()
PreprocOut oa::Mamba3Module::preprocess(const oa::Matrix & inInput, oa::I32 inBatch, oa::I32 inSeqLen)
void oa::Mamba3Module::resetState(oa::I32 inBatch)
oa::Matrix oa::Mamba3Module::step(const oa::Matrix & inInput)

Constructor & Destructor Documentation

oa::Mamba3Module::Mamba3Module( oa::I32 inDModel, oa::I32 inDState = 128, oa::I32 inExpand = 2, oa::I32 inHeadDim = 64, oa::I32 inNGroups = 1, oa::F32 inRopeFraction = 0.5f, bool inIsMimo = false, oa::I32 inMimoRank = 4, oa::F32 inDtMin = 0.001f, oa::F32 inDtMax = 0.1f, oa::F32 inDtInitFloor = 1e-4f, oa::F32 inAFloor = 1e-4f, bool inIsOutprojNorm = false )
No public source comment is attached to this declaration.

Parameters

inDModel
oa::I32

inDState
oa::I32

Default: 128

inExpand
oa::I32

Default: 2

inHeadDim
oa::I32

Default: 64

inNGroups
oa::I32

Default: 1

inRopeFraction
oa::F32

Default: 0.5f

inIsMimo
bool

Default: false

inMimoRank
oa::I32

Default: 4

inDtMin
oa::F32

Default: 0.001f

inDtMax
oa::F32

Default: 0.1f

inDtInitFloor
oa::F32

Default: 1e-4f

inAFloor
oa::F32

Default: 1e-4f

inIsOutprojNorm
bool

Default: false

Public Method Documentation

const oa::Matrix & oa::Mamba3Module::bBias()
No public source comment is attached to this declaration.

Returns

const oa::Matrix &

The declared return value.

const oa::Matrix & oa::Mamba3Module::cBias()
No public source comment is attached to this declaration.

Returns

const oa::Matrix &

The declared return value.

const oa::Matrix & oa::Mamba3Module::d()
No public source comment is attached to this declaration.

Returns

const oa::Matrix &

The declared return value.

oa::I32 oa::Mamba3Module::dInner()
No public source comment is attached to this declaration.

Returns

oa::I32

The declared return value.

oa::I32 oa::Mamba3Module::dState()
No public source comment is attached to this declaration.

Returns

oa::I32

The declared return value.

const oa::Matrix & oa::Mamba3Module::dtBias()
No public source comment is attached to this declaration.

Returns

const oa::Matrix &

The declared return value.

oa::I32 oa::Mamba3Module::expand()
No public source comment is attached to this declaration.

Returns

oa::I32

The declared return value.

oa::Matrix oa::Mamba3Module::forward( const oa::Matrix & inInput )
No public source comment is attached to this declaration.

Parameters

inInput
const oa::Matrix &

Returns

oa::Matrix

The declared return value.

oa::I32 oa::Mamba3Module::headDim()
No public source comment is attached to this declaration.

Returns

oa::I32

The declared return value.

const oa::Matrix & oa::Mamba3Module::inProj()
weight accessors for the fused empyrealm path (reuses the same weights as the reference Mamba3Module).

Returns

const oa::Matrix &

The declared return value.

bool oa::Mamba3Module::isMimo()
No public source comment is attached to this declaration.

Returns

bool

The declared return value.

bool oa::Mamba3Module::isOutprojNorm()
No public source comment is attached to this declaration.

Returns

bool

The declared return value.

oa::I32 oa::Mamba3Module::mimoRank()
No public source comment is attached to this declaration.

Returns

oa::I32

The declared return value.

oa::I32 oa::Mamba3Module::nGroups()
No public source comment is attached to this declaration.

Returns

oa::I32

The declared return value.

oa::I32 oa::Mamba3Module::nHeads()
Config accessors for EmpyrealmCore / general use (no more hardcodes in callers).

Returns

oa::I32

The declared return value.

const oa::Matrix & oa::Mamba3Module::normWeight()
No public source comment is attached to this declaration.

Returns

const oa::Matrix &

The declared return value.

oa::I32 oa::Mamba3Module::numRopeAngles()
No public source comment is attached to this declaration.

Returns

oa::I32

The declared return value.

const oa::Matrix & oa::Mamba3Module::outProj()
No public source comment is attached to this declaration.

Returns

const oa::Matrix &

The declared return value.

PreprocOut oa::Mamba3Module::preprocess( const oa::Matrix & inInput, oa::I32 inBatch, oa::I32 inSeqLen )
No public source comment is attached to this declaration.

Parameters

inInput
const oa::Matrix &

inBatch
oa::I32

inSeqLen
oa::I32

Returns

PreprocOut

The declared return value.

void oa::Mamba3Module::resetState( oa::I32 inBatch )
reset the recurrent decode state to zero for a given batch size.

Parameters

inBatch
oa::I32

Returns

void

The declared return value.

oa::Matrix oa::Mamba3Module::step( const oa::Matrix & inInput )
Autoregressive single-step for inference (maintains recurrent state across calls).

Parameters

inInput
const oa::Matrix &

Returns

oa::Matrix

The declared return value.