For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /get-started.md).
Mojo function
mamba2_ssd_chunk_scan_varlen_fwd_gpu
def mamba2_ssd_chunk_scan_varlen_fwd_gpu[kernel_dtype: DType, DSTATE: Int, x_LT: TensorLayout, dt_LT: TensorLayout, A_LT: TensorLayout, B_LT: TensorLayout, C_LT: TensorLayout, D_LT: TensorLayout, dt_bias_LT: TensorLayout, initial_states_LT: TensorLayout, y_LT: TensorLayout, final_states_LT: TensorLayout, query_start_loc_LT: TensorLayout, has_initial_state_LT: TensorLayout, Engine: TensorEngine = DefaultEngine](nheads_dev: Int32, head_dim_dev: Int32, ngroups_dev: Int32, nheads_ngroups_ratio_dev: Int32, batch_dev: Int32, dt_softplus: Int8, x: TileTensor[kernel_dtype, x_LT, MutUntrackedOrigin, Engine=Engine], dt: TileTensor[kernel_dtype, dt_LT, MutUntrackedOrigin, Engine=Engine], A: TileTensor[kernel_dtype, A_LT, MutUntrackedOrigin, Engine=Engine], B: TileTensor[kernel_dtype, B_LT, MutUntrackedOrigin, Engine=Engine], C: TileTensor[kernel_dtype, C_LT, MutUntrackedOrigin, Engine=Engine], D: TileTensor[kernel_dtype, D_LT, MutUntrackedOrigin, Engine=Engine], dt_bias: TileTensor[kernel_dtype, dt_bias_LT, MutUntrackedOrigin, Engine=Engine], initial_states: TileTensor[.float32, initial_states_LT, MutUntrackedOrigin, Engine=Engine], y: TileTensor[kernel_dtype, y_LT, MutUntrackedOrigin, Engine=Engine], final_states: TileTensor[.float32, final_states_LT, MutUntrackedOrigin, Engine=Engine], query_start_loc: TileTensor[.int32, query_start_loc_LT, MutUntrackedOrigin, Engine=Engine], has_initial_state: TileTensor[.bool, has_initial_state_LT, MutUntrackedOrigin, Engine=Engine])
GPU kernel: Mamba-2 SSD varlen prefill scan, one thread per (head, channel).
Grid: (ceildiv(head_dim, BLOCK), nheads, batch). Each thread owns one
(b, h, p) channel, carries the dstate-vector state in registers, and
walks its sequence [seq_start, seq_end) sequentially.