[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