Repository navigation
feat(dispatcher/heuristics): distinct encodings for the gfx1250 GEMM pipelines and the tdm epilogue - #13612
Open
andriy-ca wants to merge 3 commits into
Open
feat(dispatcher/heuristics): distinct encodings for the gfx1250 GEMM pipelines and the tdm epilogue#13612andriy-ca wants to merge 3 commits into
andriy-ca wants to merge 3 commits into
Conversation
…m epilogue The GEMM feature engine encoded comp_async, comp_tdm and comp_tdm_v2 as compv3 and the tdm epilogue as default, so a model could not tell them apart. GEMM_PIPELINE_MAP and GEMM_EPILOGUE_MAP give them their own codes and are used only by GemmUniversalFeatureEngine. PIPELINE_MAP and EPILOGUE_MAP are unchanged: grouped conv shares PIPELINE_MAP and its models encode its own comp_async as 0, and get_parameter_space keeps them because the search has no arch. GemmUniversalVecFeatureEngine moves to encoding version 2. A version-1 model is still accepted for any arch but gfx1250, the only arch where codegen admits these traits, since it gets identical values; one without an arch is refused. The rule is in encoding_accepted, used by Predictor and by the warm-start check. The base engine stays at version 0 so its shipped models keep loading. A base-engine gfx1250 model trained before this change would get different pipeline and epilogue values without being refused. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This was referenced Oct 14, 2026
Merged
✅ All Checks Passed — Ready for Review
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🎉 All checks passed! This PR is ready for review. |
Resolve the conflict in dispatcher/heuristics/tests/test_train.py: test_the_spec_records_the_engines_version keeps develop's new batched_gemm case (version 1) and this branch's gemm_universal_vec version 2. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This branch has not been deployed
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.
JIRA ID : AICK-2558
Why
GemmUniversalFeatureEngineencoded comp_async, comp_tdm and comp_tdm_v2 as compv3, and the tdm epilogue as default, so a model trained on gfx1250 data could not tell them apart.What changes
GEMM_PIPELINE_MAPandGEMM_EPILOGUE_MAPgive them their own codes and are used byGemmUniversalFeatureEngineand the engines derived from it (GemmUniversalVecFeatureEngine,BatchedGemmFeatureEngine).PIPELINE_MAPandEPILOGUE_MAPare unchanged: grouped conv sharesPIPELINE_MAPand its models encode its own comp_async as 0, andget_parameter_spacekeeps them because the search has no arch.GemmUniversalVecFeatureEnginemoves to encoding version 2. A version-1 model is still accepted for any arch but gfx1250, the only arch where codegen admits these traits, since it gets identical values; one without an arch is refused. The rule is inencoding_accepted, used byPredictorand by the warm-start check intrain.py.Testing
dispatcher/heuristics/tests/test_feature_engine.py,test_predict.pyandtest_train.py.dispatcher/heuristicstests: 567 passed, 1 skipped on develop plus this PR (develop: 554 passed, the same skip).Related PRs
GemmUniversalVecFeatureEngineandENCODING_VERSION, which this PR builds on.BatchedGemmFeatureEngine, which inherits the new codes as described above.Predictor, which applies this PR's compatibility rule; gfx950 models keep loading.🤖 Generated with Claude Code