[Docs] Split slash-combined docstring parameters (#57141)
Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Harry Mellor committed
Sep 16, 2026 at 10:16 UTC
5f203baedb29bd97f96243f2b83e73fb1bfec7f0
3 files changed
+25
-9
vllm/_custom_ops.py
+8
-2
@@ -1482,8 +1482,14 @@ def cutlass_w4a8_moe_mm(
1482
Cumulative token offsets
1483
problem_sizes:
1484
Per-expert (M, N, K) GEMM sizes used by the grouped GEMM launcher.
1485
- a/b/c/group_scale_strides:
1486
- Strides describing the memory layout of the input tensors.
1485
+ a_strides:
1486
+ Strides describing the memory layout of a_tensors.
1487
+ b_strides:
1488
+ Strides describing the memory layout of b_tensors.
1489
+ c_strides:
1490
+ Strides describing the memory layout of out_tensors.
1491
+ group_scale_strides:
1492
+ Strides describing the memory layout of b_group_scales.
1493
maybe_schedule:
1494
Optional override to choose a specific kernel or epilogue schedule.
1495
vllm/model_executor/kernels/attention/dsa/sparse_mqa_logits.py
+14
-6
@@ -190,9 +190,11 @@ def candidate_blocks_to_sparse_indices(
190
candidate_blocks: [rows, K] int32 request-local candidate block ids
191
(-1 padded), in units of ``candidate_block_size`` positions. K
192
must be a power of two (the in-kernel sort); rows may be strided.
193
- row_ks/row_ke: [rows] int32 per-row K range; bounds are in the same
193
+ row_ks: [rows] int32 per-row K range start; bounds are in the same
194
(packed-workspace) coordinates the sparse kernel iterates over.
195
Pass zeros for the paged path, whose blocks are context-relative.
196
+ row_ke: [rows] int32 per-row K range end, in the same coordinates as
197
+ ``row_ks``.
198
candidate_block_size: Positions per candidate block.
199
sparse_block_kv: Positions per sparse block (8 or 16).
200
out: Optional ``(sparse_indices, end)`` buffers to write into,
@@ -322,12 +324,16 @@ def sparse_mqa_logits_prefill_chunk(
324
k_scale: [total_kv] int32 packed UE8M0 K scales.
325
weights: [rows, H] bf16 per-head weights; the sparse kernels take
326
bf16 and do not fold the Q scale in.
325
- cu_seqlen_ks/cu_seqlen_ke: [rows] int32 per-token K bounds in the
326
- packed workspace.
327
+ cu_seqlen_ks: [rows] int32 per-token K start bounds in the packed
328
+ workspace.
329
+ cu_seqlen_ke: [rows] int32 per-token K end bounds in the packed
330
+ workspace.
331
candidate_blocks: [rows, K] int32 request-local candidate block ids.
332
topk_indices: [rows, topk_tokens] output buffer.
329
- sparse_indices/end/col_indices: Caller-owned scratch, see
330
- `candidate_blocks_to_sparse_indices` and `sparse_topk_remap`.
333
+ sparse_indices: Caller-owned scratch, see
334
+ `candidate_blocks_to_sparse_indices`.
335
+ end: Caller-owned scratch, see `candidate_blocks_to_sparse_indices`.
336
+ col_indices: Caller-owned scratch, see `sparse_topk_remap`.
337
kernel_metadata: DeepGEMM schedule from a previous call with the same
338
candidates and bounds (i.e. another indexer layer in the same
339
step). When given, the candidate expansion is skipped and
@@ -413,7 +419,9 @@ def sparse_mqa_logits_paged_decode(
419
candidate_blocks: [rows, K] int32 candidate block ids.
420
topk_indices: [rows, topk_tokens] output buffer.
421
row_ks: [rows] int32 zeros (paged blocks are context-relative).
416
- sparse_indices/end/col_indices: Caller-owned scratch.
422
+ sparse_indices: Caller-owned scratch.
423
+ end: Caller-owned scratch.
424
+ col_indices: Caller-owned scratch.
425
kernel_metadata: See `sparse_mqa_logits_prefill_chunk`.
426
427
Returns:
vllm/utils/deep_gemm.py
+3
-1
@@ -726,8 +726,10 @@ def get_sparse_mqa_logits_metadata(
726
need a host-side sync to pick one.
727
728
Args:
729
- cu_seqlen_ks/cu_seqlen_ke: Per-row K range bounds in the packed KV
729
+ cu_seqlen_ks: Per-row K range start bounds in the packed KV
730
workspace, shape [num_q_tokens], dtype int32.
731
+ cu_seqlen_ke: Per-row K range end bounds in the packed KV workspace,
732
+ shape [num_q_tokens], dtype int32.
733
num_kv_tokens: Total KV tokens in the packed workspace.
734
sparse_kv_block_indices: Per-row candidate block ids, shape
735
[num_q_tokens, num_max_sparse_blocks], dtype int32. Each row's