For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /max/get-started.md).
Mojo function
varlen_selective_scan_fwd_cpu
varlen_selective_scan_fwd_cpu[kernel_dtype: DType, DSTATE: Int](dim: Int, ngroups: Int, batch: Int, pad_slot_id: Int32, delta_softplus: Int8, u: TileTensor[kernel_dtype, address_space=u.address_space, linear_idx_type=u.linear_idx_type, element_size=u.element_size], delta: TileTensor[kernel_dtype, address_space=delta.address_space, linear_idx_type=delta.linear_idx_type, element_size=delta.element_size], A: TileTensor[kernel_dtype, address_space=A.address_space, linear_idx_type=A.linear_idx_type, element_size=A.element_size], B: TileTensor[kernel_dtype, address_space=B.address_space, linear_idx_type=B.linear_idx_type, element_size=B.element_size], C: TileTensor[kernel_dtype, address_space=C.address_space, linear_idx_type=C.linear_idx_type, element_size=C.element_size], D: TileTensor[kernel_dtype, address_space=D.address_space, linear_idx_type=D.linear_idx_type, element_size=D.element_size], z: TileTensor[kernel_dtype, address_space=z.address_space, linear_idx_type=z.linear_idx_type, element_size=z.element_size], delta_bias: TileTensor[kernel_dtype, address_space=delta_bias.address_space, linear_idx_type=delta_bias.linear_idx_type, element_size=delta_bias.element_size], ssm_states: TileTensor[kernel_dtype, address_space=ssm_states.address_space, linear_idx_type=ssm_states.linear_idx_type, element_size=ssm_states.element_size], output: TileTensor[kernel_dtype, address_space=output.address_space, linear_idx_type=output.linear_idx_type, element_size=output.element_size], query_start_loc: TileTensor[DType.int32, address_space=query_start_loc.address_space, linear_idx_type=query_start_loc.linear_idx_type, element_size=query_start_loc.element_size], cache_indices: TileTensor[DType.int32, address_space=cache_indices.address_space, linear_idx_type=cache_indices.linear_idx_type, element_size=cache_indices.element_size], has_initial_state: TileTensor[DType.bool, address_space=has_initial_state.address_space, linear_idx_type=has_initial_state.linear_idx_type, element_size=has_initial_state.element_size], u_strides: IndexList[2], delta_strides: IndexList[2], A_strides: IndexList[2], B_strides: IndexList[3], C_strides: IndexList[3], D_strides: IndexList[1], z_strides: IndexList[2], delta_bias_strides: IndexList[1], ssm_states_strides: IndexList[3], out_strides: IndexList[2], ctx: Optional[DeviceContext] = None)
CPU kernel for variable-length selective scan.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!