Repository navigation
perf(mono): reuse AITER compiled FlyDSL dispatch - #2741
Merged
Merged
Conversation
Contributor
🏷️ CI GuideRuns automatically on every eligible PR before approval:
Heavy model tests:
|
valarLip
previously approved these changes
Oct 27, 2026
coderfeli
force-pushed
the
fix/mono-compiled-launchers
branch
from
October 27, 2026 06:49
073d15d to
8e8b7ad
Compare
coderfeli
force-pushed
the
fix/mono-compiled-launchers
branch
from
October 27, 2026 07:07
8e8b7ad to
719bdab
Compare
6 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mono decode runners retain JIT launchers after compile-only preparation, so every step still enters FlyDSL's JIT dispatch. Route execution through AITER's existing
_run_compiled: the first real warmup launch compiles and executes once, then subsequent calls use its retainedCompiledFunctionwith fresh runtime addresses, scalars and stream.Reuse
aiter.ops.flydsl.kernels.tensor_shimdirectly, without adding a local cache class or changingatom/mono/runtime/compile.py. Keep the original JIT objects for ABI and binary-resource inspection. DeepSeek V4's deferred compile hints stay unchanged. Kimi debug launchers are retained by build key so they also reuse compiled dispatch.This covers DeepSeek V4/V4.1, GLM-5.2, Kimi-K3, MiniMax M3 sparse/dense paths and step-begin. The stream is passed positionally, matching AITER and
CompiledFunction. Warm-cache compile-only handling comes from current AITER main (ROCm/aiter#6946, commit2bafed472).Validation:
git diff --checkpassed; the vendored GLM op retains its existing formatter exemption.Launch overhead was measured in eager mode with CUDA Graph disabled (no capture or replay), using a warmed no-op FlyDSL launcher and the shared AITER dispatch path.
JitFunction_run_compiledCached dispatch saves 12.56 us per launch (82.0% lower host launch overhead).
Method: 40 alternating batches of 100 warm launches per path; GPU synchronization occurs outside the timed batches. Compilation and warmup are excluded. These figures measure steady-state host dispatch overhead; full-model latency and serving throughput were not measured.
Validation used the local FlyDSL MLIR build and a clean source snapshot of AITER main at
2bafed472. Full-model accuracy and serving throughput comparisons were not run locally.