Skip to content

[FlyDSL][AOT] Fix cktile_epilogue_silu AOT arg mismatch on release/v0.1.16.post4 - #4283

Merged
Fangzhou-Ai merged 1 commit into
release/v0.1.16.post4from
fix/flydsl-silu-epilogue-aot-arg
Jul 17, 2026
Merged

[FlyDSL][AOT] Fix cktile_epilogue_silu AOT arg mismatch on release/v0.1.16.post4#4283
Fangzhou-Ai merged 1 commit into
release/v0.1.16.post4from
fix/flydsl-silu-epilogue-aot-arg

Conversation

@Rohan138

@Rohan138 Rohan138 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Problem

Building the aiter wheel on release/v0.1.16.post4 (PREBUILD_KERNELS=1) fails in FlyDSL AOT: every cktile_epilogue_silu config (inter_dim 256–1536, topk 6–9, gfx950) fails with too many positional arguments, aborting the build (FlyDSL MOE AOT: 12 failed). This blocks vllm-project/vllm#48683 (post3→post4 bump).

Cause

This branch's silu_and_mul_fq.py uses the compile-time-swiglu_limit design (pre-#3767): the kernel/launcher take no runtime swiglu arg (launch_silu_and_mul_fq is 10-arg). But _precompile_epilogue_to_cache's silu branch still passes the runtime-style tuple with a stale float("inf") swiglu_limit → 11 args into a 10-arg launcher. (swiglu uses a separate 4-arg launcher, so only silu breaks.)

Fix

Drop the stale float("inf") so the tuple matches the launcher. swiglu_limit stays compile-time (default 0.0 = no clamp, correct for silu).

Test

flydsl==0.2.2, COMPILE_ONLY=1, gfx950 — the 12 CI-failing configs:

result
before 0 ok, 12 failed (too many positional arguments)
after 12 ok, 0 failed

Notes

Release-local consistency fix, not a cherry-pick: main uses the newer runtime-swiglu_limit design (#3767, for DSV4/gfx1250); this branch predates it. AI assistance was used; the human submitter has reviewed the one-line diff and verification.

The silu path in `_precompile_epilogue_to_cache` still passes a runtime
`swiglu_limit` (`float("inf")`) to `launch_silu_and_mul_fq`, but that
launcher no longer takes a runtime swiglu_limit arg -- swiglu_limit is now
a compile-time parameter of `build_silu_and_mul_fq_module`. The extra
positional arg makes FlyDSL AOT fail with "too many positional arguments"
for every `cktile_epilogue_silu` config, aborting the aiter wheel build
(PREBUILD_KERNELS=1).

Drop the stale `float("inf")` so the launch tuple matches the launcher
(swiglu_limit stays compile-time; default 0.0 = no clamp for silu).

Verified: the 12 configs that fail in CI (inter_dim 256..1536, topk 6..9,
gfx950) go from 12 failed -> 12 ok under COMPILE_ONLY with flydsl 0.2.2.

Signed-off-by: Rohan Potdar <rohan.potdar@amd.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Fangzhou-Ai

Copy link
Copy Markdown
Contributor

LGTM, wheel compilation succeeded after this patch.

@Fangzhou-Ai
Fangzhou-Ai merged commit 7a3da22 into release/v0.1.16.post4 Jul 17, 2026
2 checks passed
@Fangzhou-Ai
Fangzhou-Ai deleted the fix/flydsl-silu-epilogue-aot-arg branch July 17, 2026 21:13
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