Remove redundant Resolve() after each inlined function#17556
Merged
yuslepukhin merged 2 commits intomainfrom Sep 15, 2023
Merged
Remove redundant Resolve() after each inlined function#17556yuslepukhin merged 2 commits intomainfrom
yuslepukhin merged 2 commits intomainfrom
Conversation
Contributor
|
This is quite an improvement. How many functions did the graph have? |
gramalingam
previously approved these changes
Sep 14, 2023
pranavsharma
previously approved these changes
Sep 14, 2023
5484256
Member
Author
pranavsharma
approved these changes
Sep 15, 2023
Contributor
skottmckay
approved these changes
Sep 15, 2023
kleiti
pushed a commit
to kleiti/onnxruntime
that referenced
this pull request
Mar 22, 2024
### Description Remove `Resolve()` on the entire graph as each function is resolved. We retain `Resolve()` after each inlining iteration. ### Motivation and Context Poor performance for inlining the model and session initialization. Original model before Resolve() removal FunctionTest.Profiling (**65953 ms**) After Resolve() Removal FunctionTest.Profiling (**2911 ms**) RelWithDebInfo pre-inlined model. Presumably because it runs Level1 optimizers Non-inlined model consists of functions and Level1 optimizers have no effect. FunctionTest.Profiling (**9851 ms**)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Description
Remove
Resolve()on the entire graph as each function is resolved.We retain
Resolve()after each inlining iteration.Motivation and Context
Poor performance for inlining the model and session initialization.
Original model before Resolve() removal
FunctionTest.Profiling (65953 ms)
After Resolve() Removal
FunctionTest.Profiling (2911 ms)
RelWithDebInfo pre-inlined model. Presumably because it runs Level1 optimizers
Non-inlined model consists of functions and Level1 optimizers have no effect.
FunctionTest.Profiling (9851 ms)