Skip to content

cleanup(rocm): trim dead W4A8 explore sweep from production copy - #41

Closed
BlivionIaG wants to merge 1 commit into
rdna_extra/v0.28.0from
cursor/trim-w4a8-explore-sweep-b7ad
Closed

BlivionIaG wants to merge 1 commit into
rdna_extra/v0.28.0from
cursor/trim-w4a8-explore-sweep-b7ad

Conversation

@BlivionIaG

Copy link
Copy Markdown

Purpose

Trim the production gfx1030 W4A8 path down to the one config that actually launches.

w4a8_gemm_rdna2 called find_config(8), which is a8_lds_k32_ag (256 threads, NPT 4, K_STEP 32, M_TILE 8, LDS A, per-group activation scales). The production TU still instantiated the other eight explore configs at group sizes 32/64/128, plus an unlaunched probe kernel and two shape loggers. This keeps a8_lds_k32_ag and those three group sizes, and deletes the rest.

Not a duplicate: no open PR on opengfx1030/vllm-rdna trims this sweep. Left untouched: docs/explore/, csrc/rocm/explore/ (not present in this tree), and the open territories in #25, #2, #33, #37, and #40.

AI assistance was used (Cursor Grok 4.7). A human should review every changed line before this leaves draft.

What stayed

  • Launch of a8_lds_k32_ag for group sizes 32, 64, and 128, via kLaunchA8LdsK32Ag.
  • TORCH_WARN_ONCE on the dense path (config a8_lds_k32_ag) and the MoE path (config moe_a8_k32_ag).
  • Tensor-contract comments in w4a8_sdot4_rdna2.cuh.
  • Both TUs remain in VLLM_ROCM_EXT_SRC (CMakeLists.txt: csrc/rocm/w4a8_sdot4_rdna2.cu, csrc/rocm/moe_w4a8_rdna2.cu).

What went

  • Configs 0–7 and the find_config table. Only the live Cfg<256, 4, 32, 8, {32,64,128}, kLds, true> launches remain.
  • w4a8_probe_kernel and W4A8_EXPLORE_INSTANTIATE_GEMM.
  • The header banner that claimed the file was not built or registered, and the /tmp/pr9_branch changelog in the .cu.
  • Shape loggers (w4a8_log_shape / VLLM_RDNA2_W4A8_DEBUG, w4a8_moe_log_shape / VLLM_RDNA2_W4A8_MOE_DEBUG). The MoE workspace cache is unchanged.

Diff: 5 files, +12 / −223.

Test Plan

rg -n 'W4A8_EXPLORE_CONFIGS|W4A8_EXPLORE_INSTANTIATE_GEMM|w4a8_probe_kernel|w4a8_log_shape|w4a8_debug_enabled|w4a8_moe_log_shape|w4a8_moe_debug_enabled|\bfind_config\b'
.venv/bin/python -m pytest tests/kernels/quantization/test_rdna2_w4a8.py tests/kernels/quantization/test_rdna2_moe_w4a8.py -v

Test Result

Symbol sweep is empty (no remaining references).

Kernel tests were not run. This environment has no ROCm stack (hipcc / /opt/rocm absent) and no GPU, so the gfx1030-gated tests cannot collect against a built _rocm_C. The usual skip is requires gfx1030 with w4a8_act_quant_rdna2 / w4a8_gemm_rdna2 built in.

No model eval: launch parameters of the live config are unchanged, and the deleted configs were never dispatched.

Open in Web Open in Cursor 

The gfx1030 production GEMM instantiated nine explore configs times three
group sizes, but w4a8_gemm_rdna2 only ever called find_config(8). Keep that
config (groups 32/64/128) and drop the unused sweep, probe kernel, and
shape loggers.

Co-authored-by: Grok 4.7 <noreply@x.ai>
Signed-off-by: Cursor Agent <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants