[Feature] Integrate the AITER MK1 persistent decoder - #2011
Draft
ssharma4-amd wants to merge 1 commit into
Draft
Conversation
Signed-off-by: ssharma4 <shubham.sharma@amd.com>
Contributor
🏷️ CI GuideRuns automatically on every eligible PR before approval:
Heavy model tests:
|
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.
Dependency
Depends on ROCm/aiter#4975.
This PR should remain draft until the AITER MK1 package is available to upstream ATOM CI.
Summary
Adds an opt-in GPT-OSS-120B persistent decode path backed by
aiter.MK1on AMD Instinct MI355X (gfx950). The integration is BF16-only for the initial upstream version.Design
CLI
The integration adds only:
--persistent-decoder {off,auto,required}--persistent-decoder-checkpoint <local-directory>The persistent path currently requires the existing BF16 KV-cache configuration. There are no provider-backend, persistent KV-dtype, maximum-quantum, debug, verification, or statistics flags.
Supported envelope
b5c939degfx950Validation
Final source tree validation: AMD MI355X
Cross-validation uses the squashed AITER commit
4b492bb46cbb81deac584d5d68bd4a73e30bf9aefrom ROCm/aiter#4975. Its manifest-free native ABI packaging was independently validated by Fleet jobsjob-e51aa84aandjob-687ce457.aiter.persistent_decoderis absent and all integration imports useaiter.MK1.libanvil.sodependency.GSM8K evaluation
Both runs used a BF16 KV cache, all 1,319 GSM8K samples, three-shot prompting, and a 2,048-token generation limit.
The persistent run completed 379,525 native persistent calls, emitted 380,635 tokens, and recorded zero prelaunch or backend failures. Flexible answer extraction improved by 2.35 percentage points. The lower strict-format score indicates a response-format difference; this evaluation does not establish exact token-level equivalence between ordinary and persistent decoding.
Test coverage
tests/test_persistent_decoder_policy.pycovers scheduler admission and rejection rules, quantum sizing, BF16 cache geometry, the minimal CLI surface, and BF16 defaults. The test module is CI-only and is not part of the installed ATOM runtime package.Known validation boundary
These runs validate packaging, loading, native execution, chat coherence, serving performance, and GSM8K answer extraction. Exact standard-versus-persistent numerical equivalence remains a separate correctness gate and is not claimed by this PR.