fix: add missing serialized_aliased_io arg to no_op_placeholder op schema#4423
Merged
lanluo-nvidia merged 2 commits intoJul 22, 2026
Merged
Conversation
…hema The serialized engine layout gained ALIASED_IO_IDX=12 (SERIALIZATION_LEN=13) in pytorch#4251, so _replace_execute_engine_with_no_op builds the tensorrt::no_op_placeholder_for_execute_engine node with 14 args (inputs + 13 serialized fields). The op and its fake kernel were never updated and still declared only 13 params, so any ExecuTorch .pte export hit: RuntimeError: no_op_placeholder_for_execute_engine() expected at most 13 argument(s) but received 14 argument(s) Add the trailing serialized_aliased_io: str param (ALIASED_IO_IDX) to both the custom op and its register_fake so the schema matches the builder. The fake still derives output shapes from serialized_metadata, so the new field is accepted but not otherwise used. Signed-off-by: shoumikhin <shoumikhin@users.noreply.github.com>
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.
Summary
The serialized engine layout gained
ALIASED_IO_IDX = 12(soSERIALIZATION_LEN = 13) in #4251._replace_execute_engine_with_no_opin_compile.pybuilds thetensorrt::no_op_placeholder_for_execute_enginenode withinputs + SERIALIZATION_LEN = 14args, but the custom op and itsregister_fakewere never updated and still declare only 13 params.As a result, every ExecuTorch
.pteexport fails duringtorch_tensorrt.save(...):This currently breaks the
executorch-static-buildCI job on all PRs (e.g. #4421, #4415), regardless of their content.Fix
Add the trailing
serialized_aliased_io: strparameter (matchingALIASED_IO_IDX) to bothno_op_placeholder_for_execute_engineandfake_no_op_placeholder_for_execute_engine. The param order now matchesSerializedInfoIndexexactly (fields 0-12). The fake kernel still derives output shapes fromserialized_metadata, so the new field is accepted but not otherwise used, mirroring the other serialized fields.Testing
SerializedInfoIndex.black/AST clean..pteexport step inverify-executorch-reference-runner.sh.