-
Notifications
You must be signed in to change notification settings - Fork 742
Upload iOS peak memory usage metric #6282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/6282
Note: Links to docs will display an error until the docs builds have been completed. ✅ No FailuresAs of commit 806a64f with merge base c242c4c ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
Testing run https://github.com/pytorch/executorch/actions/runs/11360762990. I also borrow this to test the other PR I have pytorch/test-infra#5770 to mitigate AWS rate limit error. |
|
@huydhn has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
|
Another thing I notice is that |
|
@guangy10 This might answer your question earlier about how people can use the dashboard. Here is the results from my test run above https://github.com/pytorch/executorch/actions/runs/11360762990, I can see the results on the dashboard, and compare with other branch, i.e. main The dashboard verifies that:
|
|
The app measures two @huydhn Not a blocker but I'm curious if there is a way to add/display annotation when hovering on the filed name, something like we see in the scuba table? |
Why is it? It shouldn't affect the accuracy |
Ah, the number is usual something like 0.003 seconds, which is turned into 3 ms. I guess you want to know why they don't have the same accuracy as those numbers on Android |
I see. What do you think about showing the bigger number between the twos? It's also easy to have both of them under two different names though, i.e. I think I will go with the latter approach of showing both, then we can take another look at the dashboard to see how they are displayed |
This should be doable. Ping me the description that you have in mind for each of these fields, I could add them into the database as a description field. |
@huydhn Oh, it may be truncated somewhere when reading it out from the test. Because I can see the raw data shows more than 10 decimal places |
@huydhn |
|
Ohh, this is interesting, the numbers from xcresult have higher resolution than what are printed in the output (where I get them from). I could do another update later to see if I can get them from xcresult. I guess xctest does the "friendlier" print of time in second for human to understand lol |
|
I see there are multiple data points for ( However, on the dashboard, I can only see one data point from your working branch: https://hud.pytorch.org/benchmark/llms?repoName=pytorch%2Fexecutorch @huydhn |
Thanks @huydhn! Here are the annotation you can add to the DB.
@shoumikhin Does the description sound accurate? |
Yeah, this is the regex parsing bug that I fix as part of this PR. That's why you see the results showing up on my test branch |
|
@huydhn has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
|
Ty for the review! I will add the description and figure out a way to get the higher resolution results from xcresults in separate PRs later |
Sounds good to me. BTW, on the dashboard side would you mind split the backend out from the model name (T204741729)? If non-trivial it's totally okay to deal with it after the release. |
|
@huydhn BTW, how do you generate the link with detailed configs? Such a link it's quite helpful. However, mine doesn't show the configs e.g. branch, commits, etc. in the URL. It's just https://hud.pytorch.org/benchmark/llms?repoName=pytorch%2Fexecutorch |
|
My test earlier completes https://github.com/pytorch/executorch/actions/runs/11360762990 but due to the HUD outage earlier, the workflow information is lost. I think I need to re-run this now. Just FYI, we have a data gap from about 11AM to 4PM today. |
|
@huydhn has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
Summary: This extracts iOS `Memory Peak Physical, kB` metric and uses it as the benchmark `peak_mem_usage(mb)`. I convert the value to mb because it feels friendlier to human looking at the dashboard, but let me know if we need kb granularity. Also fix a small regex bug when parsing model name like `tinyllama_xnnpack+custom+qe_fp32` where the backend could include `+` This also fixes the missing key error in https://github.com/pytorch/executorch/actions/runs/11337625751/job/31531760841#step:7:112, it happened because the script failed to parse `tinyllama_xnnpack+custom+qe_fp32` and got back no benchmark records. Pull Request resolved: #6282 Reviewed By: guangy10 Differential Revision: D64453877 Pulled By: huydhn
|
This pull request was exported from Phabricator. Differential Revision: D64453877 |
e59dbea to
806a64f
Compare




This extracts iOS
Memory Peak Physical, kBmetric and uses it as the benchmarkpeak_mem_usage(mb). I convert the value to mb because it feels friendlier to human looking at the dashboard, but let me know if we need kb granularity.Also fix a small regex bug when parsing model name like
tinyllama_xnnpack+custom+qe_fp32where the backend could include+This also fixes the missing key error in https://github.com/pytorch/executorch/actions/runs/11337625751/job/31531760841#step:7:112, it happened because the script failed to parse
tinyllama_xnnpack+custom+qe_fp32and got back no benchmark records.