mstar.engine.resources.attn.ragged.wrappers#
Cacheless (ragged) prefill wrappers: queries and keys packed by segment into
[total_tokens, H, D] tensors, laid out by cu_seqlens.
FlashInfer wrappers live here; FA3 is in dense_wrappers.py.
Functions
|
Smallest FlashInfer-supported head dim >= |
Classes
|
Prefixed attention through FlashInfer. |
|
Ragged cross-attention through FlashInfer. |
|
Ragged self-attention through FlashInfer. |
|
Query segment |
|
Varlen cross-attention between two packed layouts: query segment |
|
Varlen self-attention: each segment attends within itself. |
- class mstar.engine.resources.attn.ragged.wrappers.FlashInferPrefixedPrefillWrapper(workspace_buffer, num_qo_heads, num_kv_heads, head_dim, *, kv_layout='NHD', backend='auto', **kwargs)[source]#
Bases:
_FlashInferRaggedPrefillBase,PrefixedPrefillWrapperPrefixed attention through FlashInfer.
- class mstar.engine.resources.attn.ragged.wrappers.FlashInferRaggedCrossPrefillWrapper(workspace_buffer, num_qo_heads, num_kv_heads, head_dim, *, kv_layout='NHD', backend='auto', **kwargs)[source]#
Bases:
_FlashInferRaggedPrefillBase,RaggedCrossPrefillWrapperRagged cross-attention through FlashInfer.
- class mstar.engine.resources.attn.ragged.wrappers.FlashInferRaggedPrefillWrapper(workspace_buffer, num_qo_heads, num_kv_heads, head_dim, *, kv_layout='NHD', backend='auto', **kwargs)[source]#
Bases:
_FlashInferRaggedPrefillBase,RaggedPrefillWrapperRagged self-attention through FlashInfer.
- class mstar.engine.resources.attn.ragged.wrappers.PrefixedPrefillWrapper(num_qo_heads, num_kv_heads, head_dim, max_num_segments=None, max_total_tokens=None, max_total_kv_tokens=None, device=torch.device('cuda'), accelerator_graph=False, sm_scale=None, q_data_type=torch.bfloat16)[source]#
Bases:
_RaggedPrefillBaseQuery segment
iattends key segmenti, which holds a frozen prefix followed by the query’s own tokens (the KV-backed dense attention backend’s layout). Causal aligns each query block to the end of its keys.- Parameters:
- class mstar.engine.resources.attn.ragged.wrappers.RaggedCrossPrefillWrapper(num_qo_heads, num_kv_heads, head_dim, max_num_segments=None, max_total_tokens=None, max_total_kv_tokens=None, device=torch.device('cuda'), accelerator_graph=False, sm_scale=None, q_data_type=torch.bfloat16)[source]#
Bases:
_RaggedPrefillBaseVarlen cross-attention between two packed layouts: query segment
iattends key segmenti(one pair per request). Never causal.The key side has its own token ceiling in graph mode,
max_total_kv_tokens(defaults tomax_total_tokens).- Parameters:
- class mstar.engine.resources.attn.ragged.wrappers.RaggedPrefillWrapper(num_qo_heads, num_kv_heads, head_dim, max_num_segments=None, max_total_tokens=None, max_total_kv_tokens=None, device=torch.device('cuda'), accelerator_graph=False, sm_scale=None, q_data_type=torch.bfloat16)[source]#
Bases:
_RaggedPrefillBaseVarlen self-attention: each segment attends within itself.
cu_seqlensis bothqo_indptrandkv_indptr.- Parameters: