ROCm / ROCm/aiter

[feat]: fix splitK ASM kernel wrong output when splitK=0

Open
#862 0 comments 0 reactions 1 assignee View on GitHub

@junxiaguo is already working on this.

Since Aug 20, 2025.

Dominant language
Python
Stars
565
Forks
585
Avg merge
3d 4h
Merged PRs (30d)
366

Description

Problem Description

eg: f4gemm_bf16_per1x32Fp4_BpreShuffle_KSplit_128x512.co
With splitk=0 parameter, the kernel should not use zero to reset out(means kernel should not use atomic output operation):

out_reset = torch.zeros(
(out.shape[0] + 255) // 256 * 256, out.shape[1], dtype=dtype
)
out = out_reset

Operating System

Ubuntu22.04

CPU

9800X3d

GPU

AMD MI355

ROCm Version

Rocm6.3

ROCm Component

No response

Steps to Reproduce
d, avg_d = run_gemm_asm(
    x,
    wshuffle,
    x_scales_shuffle,
    w_scales_shuffle,
    out3,
    "_ZN5aiter49f4gemm_bf16_per1x32Fp4_BpreShuffle_KSplit_128x512E",  
    bias_f32,
    bpreshuffle=True,
    log2_k_split=0,
)
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support

No response

Additional Information

No response

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.