feat(muh): apply CCCL-derived BI-V100 tuning to 5 vllm Python files

Applied via muh/vllm_bi100_patch.py --conservative:

1. paged_attn.py: removed use_v1=True hardcode, restored V1/V2 heuristic
   with BI-V100 threshold (16384 vs default 8192). SM=16 favors V1 longer.

2. fused_moe.py: BLOCK_SIZE_K 32→64 (better memory coalescing with 900GB/s
   BW), BLOCK_SIZE_N 32→64 for decode path. Qwen3.6 MoE: E≈128, topk=8.

3. _custom_ops.py: SMEM kept at 32KB (conservative mode, pending hardware
   confirmation). Added diagnostic comment.

4. prefix_prefill.py: enhanced BI-V100 block config comment with SMEM
   budget breakdown (BLOCK=64,N=64 → 48KB tight, N=32 → 32KB safe).

5. triton_flash_attention.py: added 2 BI-V100 autotune configs
   (64x32 and 32x64) for SM=16 occupancy characteristics.

CCCL basis: cub/benchmarks/bench/ %RANGE% parameter spaces (reduce 1044
combos, scan 5.4M, topk 1698, transform 25920) → SMEM pruning → policy
selector logic from tuning_*.cuh.

Also includes muh/vllm_bi100_patch.py (713 lines) for reproducible
one-shot patching with --dry-run, --conservative, and --revert modes.
This commit is contained in:
dylanyunlon
2026-08-03 10:27:10 +00:00
parent 094c710efa
commit dc9ac0a757
6 changed files with 431 additions and 6 deletions

View File

@@ -889,6 +889,9 @@ def get_device_attribute(attribute: int, device: int) -> int:
def get_max_shared_memory_per_block_device_attribute(device: int) -> int:
# muh: CONSERVATIVE — keeping 32KB until confirmed on real BI-V100
# hardware.cuh says 48KB, _custom_ops.py says 32KB. One is wrong.
# Test: launch a kernel requesting 33KB SMEM. If it works → 48KB.
return 32 * 1024