Repository navigation
Make symbol-scoped Triton launch configurations tunable - #133
Merged
Merged
Conversation
A symbol-scoped task can now list editable symbols in configuration_symbols. Protected code may call them at launch time, so the harness guard requires each to stay an undecorated function that passes the existing configuration-factory body check. Without the declaration the guard does not restrict an editable plain function's body, so a launch-time helper could run arbitrary host code. The field must be a subset of symbols and cannot name an entrypoint. Undeclared editable functions keep the existing policy. The validator context and the agent prompt report the declared symbols.
Move the wrapper's per-dtype tile sizes, num_warps and num_stages into the editable _launch_config configuration symbol. The protected wrapper accepts exactly those integer keys within bounds and still derives the grid from the validated tiles. The initial values are unchanged, so baseline launches and timing stay the same. Record exact inverses of the source and config edits so the older migration tests keep comparing the previously reviewed bytes, and extend the boundary and domain-control tests to the new editable helper.
Restrict declared configuration symbols to caller metadata, local data, literal defaults and simple annotations. Reject global object access and implicit helper execution while preserving shape-based tuning and the existing definition-time factory policy. Add regression coverage for helper subscripts, signatures, callbacks, shadowed metadata calls and malformed configuration symbol declarations. Integrate current main without changing the BMM baseline launch settings.
irvineoy
changed the base branch from
codex/drop-readme-contract-pins
to
main
October 27, 2026 16:53
irvineoy
marked this pull request as ready for review
October 27, 2026 16:53
Only protected launch callers may supply metadata to declared configuration helpers. Prevent editable compiler decorators from invoking those helpers with arbitrary host objects, and cover the BMM definition-time regression.
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.
Protecting Triton host wrappers also froze their launch-tuning parameters. This change restores those settings through an editable
_launch_confighelper while keeping the wrapper, grid derivation, input layouts and numerical checks protected.The scope is one pilot task,
triton2triton/vllm/triton_bmm, plus the shared framework support. The other 18 task conversions are follow-up work.configuration_symbolsto symbol-scoped edit declarations and describe it in agent prompts and validator context.Validation:
make check-perf-helpersand Python 3.12 source compilation pass.0cd82d6e6241ef1a5ea34da5ebe29c3baf59c1d8.task_validatorwas not run. The maintainer explicitly waived GPU testing for this merge; this change makes no new GPU correctness or performance claim.