Commit Graph

2 Commits

Author SHA1 Message Date
muh
082ded7d69 [ENGINE] xformers.py: CCCL GQA broadcast eliminates 6x repeat_interleave in sdpa_fallback
Qwen3.6 head_dim=256 forces sdpa_fallback path (head_size > 128).
Old code: repeat_interleave(6, dim=0) expands KV from [4, seq, 256]
to [24, seq, 256] — 6x memory copy every prefill Q-chunk.

New code: CCCL agent_reduce.cuh ConsumeFullTile broadcast pattern.
K/V stay at [kv_h, 1, seq, d], Q reshaped to [kv_h, gqa, chunk, d].
matmul broadcasts K over gqa dim without materializing the expansion.

For Qwen3.6 (kv_h=4, gqa=6, d=256, q_chunk=256):
  Old: 6 × 4 × seq × 256 × 4B = 24 × seq × 1KB expanded per chunk
  New: 4 × 1 × seq × 256 × 4B = 4 × seq × 1KB (no expansion)

CCCL source: agent_reduce.cuh VectorT striped access pattern,
catch2_test_device_find_env.cu find_tuning<BlockSize> injection.
2026-08-06 00:59:40 +00:00
dylanyunlon
327f9fbf40 [ARCH] Eliminate AST patch scripts — full file replacements only
Deleted approach: patch_model_runner.py, patch_xformers_sdpa_seq.py did
blind string replacement on base image files without reading full context.

New approach: read complete base source files from vllm/, apply fixes with
full context understanding, output complete modified files to qwen3_6_scripts/.

Files now replaced as complete copies (not patched):
  - model_runner.py (1932 lines): prefix_cache_hit=False for Case 1
  - xformers.py (821+80 lines): _run_sdpa_fallback + head_size>128 dispatch
  - arg_utils.py (1143 lines): disable auto chunked-prefill for 32K+
  - logits_processor.py (157 lines): seq_groups=None guard

patch_ops.sh rewritten: all python3 ./patch_*.py calls replaced with cp.
Remaining python3 calls: patch_transformers_qwen3_5.py, patch_vllm_qwen3_5.py,
patch_vllm_tool_parser.py — these register new model/parser classes in
__init__.py files, which is additive (not modification of existing code).
2026-08-05 08:24:43 +00:00