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:
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user