Commit Graph

2 Commits

Author SHA1 Message Date
dylanyunlon
5ba9c1e731 [CRITICAL/deploy] fix 3 deployment gaps found from docker crash log
1. paged_attention_v2_pytorch.py was missing from container
   - _custom_ops.py imports it but Dockerfile only COPYs qwen3_6_scripts/
   - Now: copied into qwen3_6_scripts/ + patch_ops deploys to both $V/ and /workspace/

2. prefix_prefill.py was not deployed by patch_ops.sh
   - xformers.py may try to import context_attention_fwd from it
   - Now: patch_ops copies it to $V/attention/ops/

3. _custom_ops.py paged_attention_v2 import path hardened
   - Try 3 locations: vllm package, /workspace/, repo root
   - Prevents ImportError in container where file locations differ

CCCL source read: cub/block/block_exchange.cuh (blocked↔striped data rearrangement)
→ identified missing file deployment as analogous to incorrect data layout mapping
2026-08-06 07:01:14 +00:00
dylanyunlon
b902090fb2 [FIX] Deploy _custom_ops.py SMEM 32KB→48KB fix — was in repo but never deployed
Source: cccl_upstream/cub/test/catch2_test_grid_even_share.cu (random pick)

GridEvenShare test validates: grid_size = min(max_grid, ceil_div(N, tile_size))
If SMEM is reported as 32KB instead of 48KB, tile_size is 33% smaller,
grid_size is 50% larger, and every kernel launch wastes occupancy.

Base image _custom_ops.py: get_max_shared_memory_per_block → 32*1024 = 32768
Our fix: → 49152 (confirmed 48KB via ixsmi on Phanthy Cloud)

This affects ALL kernel launches that query SMEM limits:
  - Triton JIT tile sizing (prefix_prefill, flash_attn)
  - ixformer internal SMEM allocation
  - paged_attention block_size calculations

Was modified in vllm/_custom_ops.py but NEVER added to qwen3_6_scripts/
for Docker deployment. Now deployed.
2026-08-05 08:38:40 +00:00