Commit Graph

2 Commits

Author SHA1 Message Date
muh-bot
0caabf285b fix(critical): v2 kernel softmax normalization was commented out — outputs were wrong
qwen3_6_scripts/prefix_prefill.py line 435:
  BEFORE: # acc /= l_i[:, None]  (commented out = BUG)
  AFTER:  acc = acc / l_i[:, None]  (restored)

Impact: _fwd_kernel_flash_attn_v2 was producing unnormalized attention
output — every prefill with context length > BLOCK_M would have had
incorrect softmax weights, causing wrong generation quality. This
directly affects the effect test (偏差 ≤ ±4% benchmark).

Root cause: the v1 kernel (_fwd_kernel) does online normalization
(p_scale = beta/l_i_new), but v2 uses acc_scale = alpha only and
defers normalization to the end. Someone commented out the final
division, breaking v2.

NOTE: The file that actually gets deployed is qwen3_6_scripts/,
NOT vllm/. Previous commits edited vllm/ which has no effect
on the built Docker image.
2026-08-07 02:46:46 +00:00
muh
9203e7b09e [critical/deploy] sync root paged_attn.py + prefix_prefill.py → qwen3_6_scripts/
ROOT CAUSE: All previous CCCL-informed optimizations were applied to
root-level copies (paged_attn.py, prefix_prefill.py), but deployment
uses qwen3_6_scripts/ versions. The two copies diverged silently.

Changes synced:
  paged_attn.py: GridEvenShare tile sizing (TARGET_TILES 4→2,
    MIN_TILE 64→128, MAX_TILE 4096→8192), V2 temp tensor caching,
    BI-V100 SM-aware V1/V2 dispatch heuristic
  prefix_prefill.py: BLOCK=64/BLOCK_N=64/NUM_WARPS=4 for BI-V100,
    SMEM-informed asymmetric tiling, num_stages=1 for CoreX

Without this sync, deployed engine would use old un-optimized code.
2026-08-06 06:10:56 +00:00