Add context_lengths option to QairtGenAIBuilder#2505
Merged
shaahji merged 3 commits intoJun 11, 2026
Merged
Conversation
Introduces a context_lengths parameter that allows users to specify an explicit list of context lengths (CLs) to compile, bypassing the fixed CL set produced by multi_graph. The two options are mutually exclusive. Like multi_graph, context_lengths is HTP-only. Sets arn_cl_options.context_length directly on the builder when provided, falling through to the existing multi_graph path otherwise.
c74cd36 to
4deb92a
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds support for explicitly specifying context length combinations for Qairt GenAI compilation, with validation and tests to ensure it’s HTP-only and mutually exclusive with multi_graph.
Changes:
- Added
context_lengthspass config parameter (defaultNone) and updatedmulti_graphdescription to reflect mutual exclusivity. - Enforced validation rules:
context_lengthsis HTP-only and cannot be used withmulti_graph. - Updated builder run logic to set
arn_cl_options.context_lengthwhencontext_lengthsis provided, and added unit tests for the new behavior.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| test/passes/qairt/test_gen_ai_builder.py | Adds tests for context_lengths config behavior and validation rules. |
| olive/passes/qairt/gen_ai_builder.py | Introduces context_lengths config, validates it, and wires it into the builder config. |
Collaborator
|
Please resolve all Copilot conversations. |
Attribute assignment on MagicMock does not appear in mock_calls, so the previous string-matching assertion was vacuously passing. Replace with PropertyMock + patch.object so the setter is actually tracked.
Contributor
Author
|
@shaahji copilot comments are resolved |
patch.object requires the attribute to already exist on the class; plain MagicMock has no multi_graph attribute. Create a unique subclass per test so type(mock_builder) is isolated, then attach PropertyMock directly to track setter calls correctly.
Contributor
Author
|
@shaahji sorry, fixed CI unit test failure - should succeed now |
shaahji
approved these changes
Jun 11, 2026
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.
Describe your changes
Introduces a
context_lengthsparameter toQairtGenAIBuilderthat allows users to specify an explicit list of context lengths (CLs) to compile for HTP backends.This provides fine-grained control over which context-length binaries are produced, as an alternative to the fixed CL set generated by
multi_graph. The two options are mutually exclusive.Usage:
Sets
arn_cl_options.context_lengthdirectly on the underlying GenAI builder when provided, bypassing themulti_graphpath.Checklist before requesting a review