Skip to content

Conversation

@mroreo
Copy link

@mroreo mroreo commented Nov 3, 2025

Summary:
Based on the initial test times the following times were logged for each of the model export times from the following run

Run 1
pull - https://github.com/pytorch/executorch/actions/runs/19052918428
trunk - https://github.com/pytorch/executorch/actions/runs/19052918424

Run 2
pull - https://github.com/pytorch/executorch/actions/runs/19151256463
trunk - https://github.com/pytorch/executorch/actions/runs/19151256445

dtype mode runner docker_image time(s) - 1 time(s) - 2
bf16 custom linux.2xlarge ubuntu-22.04-clang12 64 65
bf16 custom linux.arm64.2xlarge ubuntu-22.04-gcc11-aarch64 102 97
fp32 xnnpack+custom+qe linux.2xlarge ubuntu-22.04-clang12 271 285
fp32 xnnpack+custom+qe linux.arm64.2xlarge ubuntu-22.04-gcc11-aarch64 486 482
fp32 xnnpack+custom+quantize_kv linux.2xlarge ubuntu-22.04-clang12 289 295
fp32 xnnpack+custom+quantize_kv linux.arm64.2xlarge ubuntu-22.04-gcc11-aarch64 521 508
fp32 xnnpack+quantize_kv linux.2xlarge ubuntu-22.04-clang12 295 356
fp32 xnnpack+quantize_kv linux.arm64.2xlarge ubuntu-22.04-gcc11-aarch64 507 514
fp32 qnn_16a16w , qnn linux.2xlarge ubuntu-22.04-qnn-sdk 334 315
fp32 qnn_8a8w , qnn linux.2xlarge ubuntu-22.04-qnn-sdk 81 80
bf16 portable linux.2xlarge ubuntu-22.04-clang12 75 75
bf16 portable linux.arm64.2xlarge ubuntu-22.04-gcc11-aarch64 118 117
fp32 portable linux.2xlarge ubuntu-22.04-clang12 72 70
fp32 portable linux.arm64.2xlarge ubuntu-22.04-gcc11-aarch64 124 114
fp32 xnnpack+custom linux.2xlarge ubuntu-22.04-clang12 276 286
fp32 xnnpack+custom linux.arm64.2xlarge ubuntu-22.04-gcc11-aarch64 483 471
fp32 coreml macos-m1-stable macos 61 64
fp32 mps macos-m1-stable macos 30 31
fp32 xnnpack+custom+quantize_kv macos-m1-stable macos 133 132

Fixes #10761

Test Plan:
Since I have no access to the github runners and the workflows, I dont have a test plan. Ideally, the github actions would be retriggered multiple times to track the maximum of the times across each trigger and then add an an arbitrary buffer value

@pytorch-bot
Copy link

pytorch-bot bot commented Nov 3, 2025

🔗 Helpful Links

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

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

✅ No Failures

As of commit 0855d71 with merge base 3dbc15b (image):
💚 Looks good so far! There are no failures yet. 💚

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

@meta-cla
Copy link

meta-cla bot commented Nov 3, 2025

Hi @mroreo!

Thank you for your pull request and welcome to our community.

Action Required

In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at [email protected]. Thanks!

@github-actions
Copy link

github-actions bot commented Nov 3, 2025

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-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 Nov 3, 2025
@mroreo mroreo closed this Nov 3, 2025
@mroreo mroreo reopened this Nov 3, 2025
@mroreo mroreo changed the title debug: add some timestamping to see how the timing would be called testing: track the llama export times Nov 3, 2025
@mroreo mroreo marked this pull request as ready for review November 5, 2025 22:54
Copy link
Contributor

@lucylq lucylq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for putting this up @mroreo! I'll check to see if we have any sort of dashboard to display these metrics.

;;
esac

MAX_EXPORT_TIME=$((ACT_EXPORT_TIME + BUFFER_TIME))
Copy link
Contributor

@lucylq lucylq Nov 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: move this to line 149, after BUFFER_TIME, given that it is used on line 172 - causing errors on the latest run.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please tag/ping me again if approval is required to re-run the tests :/

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

instead of moving it to line 149, since it depends on ACT_EXPORT_TIME, i just did the inline calculation in line 172


# Check export time against threshold. Default is 500 seconds.
if [ $EXPORT_DURATION -gt $MAX_EXPORT_TIME ]; then
echo "Failure; Export took ${EXPORT_DURATION} seconds, exceeding threshold of ${MAX_EXPORT_TIME} seconds"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's add some action item message too, like "This PR may have regressed export time; please review again or bump this threshold."

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

modified to be 1 echo statement.

# macOS configurations
"macos:fp32:mps") ACT_EXPORT_TIME=30 ;;
"macos:fp32:coreml") ACT_EXPORT_TIME=61 ;;
"macos:fp32:xnnpack+custom+quantize_kv") ACT_EXPORT_TIME=133 ;;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for getting these baseline numbers!

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no problem!

@mroreo
Copy link
Author

mroreo commented Nov 6, 2025

@lucylq can you please help re-run the tests

@mroreo mroreo requested a review from lucylq November 6, 2025 22:08
@mroreo mroreo marked this pull request as draft November 7, 2025 00:28
@mroreo
Copy link
Author

mroreo commented Nov 7, 2025

@lucylq can you help re-run this. I added more configurations and updated the times

@mroreo mroreo marked this pull request as ready for review November 7, 2025 05:37
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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add timestamps for pte generation in CI

2 participants