-
Notifications
You must be signed in to change notification settings - Fork 651
Move undelegated constants #13606
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
Move undelegated constants #13606
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/13606
Note: Links to docs will display an error until the docs builds have been completed. ❌ 1 New FailureAs of commit 168d750 with merge base 49bc664 ( NEW FAILURE - The following job has failed:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a
|
exir/program/_program.py
Outdated
SpecPropPass(), | ||
# ExecuTorch backend ops are unable to handle unbacked symints. So after | ||
# this pass, passes cannot be Interpreter-based, because it will fail if | ||
# there exists an unbacked symint operation. | ||
EdgeToBackendOpsPass(), | ||
RemoveGraphAssertsPass(), | ||
*config.passes, |
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.
external_constants_pass has to run after SpecPropPass, which populates the tensor names. See if CI passes, not sure if this will break anything.
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.
Can you do the more minimal change then and just move it after specProp rather then all of them then?
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.
@JacobSzwejbka, updated. Do EdgeToBackendOpsPass/RemoveGraphAssertsPass have to be relatively late in the passes?
33c43bf
to
ffa0a57
Compare
ffa0a57
to
d69aa0f
Compare
d69aa0f
to
f0f0e9e
Compare
f0f0e9e
to
168d750
Compare
Currently, the xnnpack + lora + program-data separation flow moves all delegated constants to the .ptd file. This change moves the undelegated constants as well, reducing the pte file size.
Run export_lora.sh from meta-pytorch/executorch-examples#54
fp32 Weights: ~6GB
Program: ~300KB
Lora adapter weights: ~27MB