Skip to content
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

Fix issue that the generated context cache model inputs/outputs order is not guaranteed #19195

Merged
merged 8 commits into from
Jan 19, 2024

Conversation

HectorSVC
Copy link
Contributor

Fix issue that the generated context cache model inputs/outputs order is not guaranteed

Description

Currently, QNN EP generate the context cache model in Compile() method which only get access to the partitioned graph. And the inputs/outputs order for the partitioned graph is not guaranteed. And EP doesn't have a view of the input user model.
Have to move the context cache model generation to a higher level in GraphPartitioner which has the view of the partitioned model.
This is also a break down of PR #18865 for multi-partition support.

@jywu-msft
Copy link
Member

is it possible to add simple model test case which checks input/output order is preserved?

@HectorSVC HectorSVC added the ep:QNN issues related to QNN exeution provider label Jan 19, 2024
change the way to check whether file exist already since std::filesystem not available for some OS version
@HectorSVC
Copy link
Contributor Author

is it possible to add simple model test case which checks input/output order is preserved?

Yes. Figured out the trick of the model finally.

@HectorSVC HectorSVC merged commit 6e17571 into main Jan 19, 2024
93 of 94 checks passed
@HectorSVC HectorSVC deleted the qnn_ctx_multi_input_order_issue branch January 19, 2024 23:16
YUNQIUGUO pushed a commit that referenced this pull request Jan 23, 2024
… is not guaranteed (#19195)

Fix issue that the generated context cache model inputs/outputs order is not guaranteed

### Description
Currently, QNN EP generate the context cache model in Compile() method which only get access to the partitioned graph. And the inputs/outputs order for the partitioned graph is not guaranteed. And EP doesn't have the view of the input user model. Have to move the context cache model generation to a higher level in GraphPartitioner which has the view of the partitioned model.
This is also a break down of PR for multi-partition support.
#18865
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ep:QNN issues related to QNN exeution provider release:1.17.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants