-
Notifications
You must be signed in to change notification settings - Fork 539
[Request Impl] Apply Segment Serialization in Bundled Program #9771
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
Comments
This is a good improvement! Could I please take this? |
yeah sure that would be great help! |
hey @dillondesilva how's the issue going on so far? This one is harder and more complex than other first issues. Please let me know if anything i can support |
Thanks @Gasoonjia ! I've just been busy with some mid-semester exams but should have time to start this in about a week. Will let you know how it goes 👍 |
Great thx for your hard work! |
Hi @Gasoonjia - I had a couple things I wanted to check:
@dataclass
class BundledProgram:
"""ExecuTorch program bunlded with data for verification."""
# Schema version.
version: int
# Test sets and other meta datas to verify the whole program.
# Each BundledMethodTestSuite contains the test cases for one of the Method's
# present inside the ExecuTorchProgram of the same BundledProgram. The method_name
# present inside the BundledMethodTestSuite is what is used to link to the appropriate Method.
method_test_suites: List[BundledMethodTestSuite]
# Replace program with NamedDataStoreOutput
named_data: NamedDataStoreOutput
# The binary data of a serialized ExecuTorchProgram.
# program: bytes
|
cc @Gasoonjia gentle ping here |
🚀 The feature, motivation and pitch
BundledProgram is a primary way for users to bundle representative input and (optional) its expected outputs with serialized ExecuTorch program (.pte file). It is a critical way to run representative input on device in a unified way.
However we realize the serialization is pretty slow nowadays. The key reason is we try to reserialize the pte file again into bundled program, which has been serialized and is unnecessary here.
To make the pte data a part of serialized bundled program, while not reserialize it, we can use the new introduced NameData to handle that, which makes inserialized data as separate data blobs append after serialized flabuffer data.
#8187 here's the design doc for NameDataBlob, and
executorch/exir/_serialize/_program.py
Line 381 in 48de264
The text was updated successfully, but these errors were encountered: