Skip to content

solve false negtive gap for multiple output operators#16729

Merged
meta-codesync[bot] merged 1 commit intopytorch:mainfrom
Gasoonjia:export-D90790256
Jan 21, 2026
Merged

solve false negtive gap for multiple output operators#16729
meta-codesync[bot] merged 1 commit intopytorch:mainfrom
Gasoonjia:export-D90790256

Conversation

@Gasoonjia
Copy link
Copy Markdown
Contributor

Summary:
When comparing AOT intermediate outputs with runtime, we believed that AOT and runtime should have same output for same operator. But if there're multiple intermediate outputs from a single operator / single operator blob, the statement may not correct. Like drop out, which only record output tensor during AOT, but in runtime we record both mask and output tensor.

To support that, for 1 to many scenerio, instead of only take the last element for comparsion, we compare the runtime output sharing the same size and dtype with the aot one to have the best comparsion.

Reviewed By: GregoryComer

Differential Revision: D90790256

Summary:
When comparing AOT intermediate outputs with runtime, we believed that AOT and runtime should have same output for same operator. But if there're multiple intermediate outputs from a single operator / single operator blob, the statement may not correct. Like drop out, which only record output tensor during AOT, but in runtime we record both mask and output tensor. 

To support that, for 1 to many scenerio, instead of only take the last element for comparsion, we compare the runtime output sharing the same size and dtype with the aot one to have the best comparsion.

Reviewed By: GregoryComer

Differential Revision: D90790256
@pytorch-bot
Copy link
Copy Markdown

pytorch-bot Bot commented Jan 21, 2026

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/16729

Note: Links to docs will display an error until the docs builds have been completed.

❌ 5 New Failures, 1 Cancelled Job

As of commit 9e6ebe4 with merge base c92f03f (image):

NEW FAILURES - The following jobs have failed:

CANCELLED JOB - The following job was cancelled. Please retry:

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jan 21, 2026
@meta-codesync
Copy link
Copy Markdown
Contributor

meta-codesync Bot commented Jan 21, 2026

@Gasoonjia has exported this pull request. If you are a Meta employee, you can view the originating Diff in D90790256.

@github-actions
Copy link
Copy Markdown

This PR needs a release notes: label

If your change should be included in the release notes (i.e. would users of this library care about this change?), please use a label starting with release notes:. This helps us keep track and include your important work in the next release notes.

To add a label, you can comment to pytorchbot, for example
@pytorchbot label "release notes: none"

For more information, see
https://github.com/pytorch/pytorch/wiki/PyTorch-AutoLabel-Bot#why-categorize-for-release-notes-and-how-does-it-work.

@meta-codesync meta-codesync Bot merged commit eaf1c65 into pytorch:main Jan 21, 2026
141 of 156 checks passed
@Gasoonjia
Copy link
Copy Markdown
Contributor Author

@pytorchbot cherry-pick --onto release/1.1 -c fixnewfeature

pytorchbot pushed a commit that referenced this pull request Jan 21, 2026
Differential Revision: D90790256

Pull Request resolved: #16729

(cherry picked from commit eaf1c65)
@pytorchbot
Copy link
Copy Markdown
Collaborator

Cherry picking #16729

The cherry pick PR is at #16736 and it is recommended to link a fixnewfeature cherry pick PR with an issue.

Details for Dev Infra team Raised by workflow job

Gasoonjia added a commit to Gasoonjia/executorch-1 that referenced this pull request Jan 22, 2026
Summary:


When comparing AOT intermediate outputs with runtime, we believed that AOT and runtime should have same output for same operator. But if there're multiple intermediate outputs from a single operator / single operator blob, the statement may not correct. Like drop out, which only record output tensor during AOT, but in runtime we record both mask and output tensor.

To support that, for 1 to many scenerio, instead of only take the last element for comparsion, we compare the runtime output sharing the same size and dtype with the aot one to have the best comparsion.

Differential Revision: D91201882
meta-codesync Bot pushed a commit that referenced this pull request Jan 23, 2026
Differential Revision: D91201882

Pull Request resolved: #16763
pytorchbot pushed a commit that referenced this pull request Jan 23, 2026
Differential Revision: D91201882

Pull Request resolved: #16763

(cherry picked from commit c7c4073)
rascani pushed a commit that referenced this pull request Jan 23, 2026
Summary:


When comparing AOT intermediate outputs with runtime, we believed that
AOT and runtime should have same output for same operator. But if
there're multiple intermediate outputs from a single operator / single
operator blob, the statement may not correct. Like drop out, which only
record output tensor during AOT, but in runtime we record both mask and
output tensor.

To support that, for 1 to many scenerio, instead of only take the last
element for comparsion, we compare the runtime output sharing the same
size and dtype with the aot one to have the best comparsion.

Differential Revision: D91201882

Co-authored-by: Gasoonjia <gasoonjia@meta.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants