-
Notifications
You must be signed in to change notification settings - Fork 608
Arm backend: Test TOSA, Ethos-U55 and Ethos-U85 on github #6888
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
Arm backend: Test TOSA, Ethos-U55 and Ethos-U85 on github #6888
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/6888
Note: Links to docs will display an error until the docs builds have been completed. ✅ No FailuresAs of commit d371bc7 with merge base 241cd0c ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
ee45572
to
bd5ecd9
Compare
f466583
to
2a6eab5
Compare
ed5aaba
to
d6affa5
Compare
Hi @digantdesai this changes files outside Arm folders and need Meta review |
lgtm, but @digantdesai should have a look as well |
@pytorchbot label "topic: not user facing" |
Love it. One consideration though, we should try to set this scripts such a way that not just a CI but a human (or a tutorial doc) can use this directly without any changes. This way there is only one source of truth. Stamping it to unblock you. |
.github/workflows/pull.yml
Outdated
.ci/scripts/setup-arm_baremetal.sh | ||
|
||
# Run pytest | ||
.ci/scripts/test_arm_baremetal.sh test_pytest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you know the time increase?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think currently running with FVP vs without is about 2min 30sec (14ish min vs 16,5ish min ) if OK to always run with FVP then we are happy doing that. I just tried to avoid it in the geneal pull job from my understanding of old discussions :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But that was before I measured the job diff and spotted that it might have been ok
.github/workflows/trunk.yml
Outdated
# Run arm unit tests | ||
pytest -c /dev/null -v -n auto --cov=./ --cov-report=xml backends/arm/test | ||
# Run arm pytest tests with Corstone3x0 FVP testing | ||
.ci/scripts/test_arm_baremetal.sh test_pytest_ethosu_fvp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess firing fvp a bunch of time is more time consuming compared to running a single large-ish model like mv2?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe, we have a patch to make it run FVP faster ongoing also.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But the we are also adding more FVP testing. Lets see how it pans out a bit over time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah I saw that. Thanks
The plan was to make it easy to run. So we can use it in our CI also and other tests. We can describe them in the readme, at least the test script. Do you want the script to move out of the .ci Folders and placed under backend/arm/test or similar place in that in that case? |
I don't have a strong preference on where the script lives, as long as a user can just run it on a shell without hacking it up would be a nice-to-have, esp for Tutorial where we can point and know it will work because it is tested by CI. |
Could make since (and I kind of like to) move at least the test part (setup could be CI/user specific, but it could also follow) to something like backends/arm/test I look into that after some other stuff, depending on your wish of getting this is fast or not I can update this patch (a bit slower) or take it as a later patch if this get merged before. |
d98d5b0
to
510aef3
Compare
Updated the patch to it's more easy to run for anyone and added it to our README.md
Moved the script to our testing folder, it makes more sense to have it there and more available for anyone. |
510aef3
to
108bd73
Compare
426ce47
to
b2d6a38
Compare
This will run some more models in the github test flow and also enable some unit tests to use Corston3x0 FVP. This structure up the Arm backend testing into separate runable scripts in the same structure as other backends. Signed-off-by: Zingo Andersen <[email protected]> Change-Id: I5e11b1aca19460845e330b84d0696513c400c0f0
b2d6a38
to
1ad6338
Compare
MacOs test error seems unrelated to patch |
…-Ethos-U85-on-github
|
||
# NB: This function could be used to install Arm dependencies | ||
# Setup arm example environment (including TOSA tools) | ||
git config --global user.email "[email protected]" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we need to do this? I tried to run this script to repro a build issue and unknowingly set the name and email incorrectly on several github commits.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ouch sorry about that.
It just followed along when moved from install_arm() in
.ci/scripts/utils.sh (in the same patch)
I'm not sure if it is needed when running in the CI nowdays, some time back the examples/arm/setup.sh did some git cloning of Vela and other repos and I assume it might have been needed then. Ot it could be related to the patch scripts that was used for Vela patches.
This will run some more models in the github test flow and also enable some unit tests to use Corston3x0 FVP.
This structure up the Arm backend testing into separate runable scripts in the same structure as other backends.