-
Notifications
You must be signed in to change notification settings - Fork 364
feat: Improve Dynamo partitioning System Performance on Large Models #2175
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
Merged
gs-olive
merged 5 commits into
pytorch:main
from
gs-olive:dynamo_partitioning_perf_improvement
Aug 15, 2023
Merged
feat: Improve Dynamo partitioning System Performance on Large Models #2175
gs-olive
merged 5 commits into
pytorch:main
from
gs-olive:dynamo_partitioning_perf_improvement
Aug 15, 2023
Conversation
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
gs-olive
commented
Aug 4, 2023
narendasan
reviewed
Aug 4, 2023
gs-olive
commented
Aug 4, 2023
6cfbb59
to
f5e8dff
Compare
ca94dca
to
292f5ce
Compare
bd0b0c5
to
bbf514f
Compare
gs-olive
commented
Aug 7, 2023
gs-olive
commented
Aug 8, 2023
|
- Upgrade Dynamo partitioning to use a custom version of the Torch _SplitterBase for efficiency and optimized usage in the Dynamo case - Validate existing use cases are still functional, with the same partitioning schema as before - Upgrade qualified name checking - Update testing for new partitioner - Add new directory to store available partitioners
bbf514f
to
ffed9d6
Compare
- Fall back to global partitioner if fast partitioner fails
ffed9d6
to
631b7b7
Compare
peri044
approved these changes
Aug 15, 2023
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.
LGTM
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
cla signed
component: api [Python]
Issues re: Python API
component: build system
Issues re: Build system
component: conversion
Issues re: Conversion stage
component: dynamo
Issues relating to the `torch.compile` or `torch._dynamo.export` paths
component: lowering
Issues re: The lowering / preprocessing passes
component: tests
Issues re: Tests
component: torch_compile
Story: Dynamo Compile Improvements
Issues relating to improvement of the Dynamo compile path
Story: Export/Compile Unification
Issues relating to unification of Dynamo compile/export paths
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
Problem Context
The Dynamo partitioning system was very slow for large models (>1000 Nodes) with segmentation. The existing partitioner was using an exhaustive partitioning mechanism which was more than quadratic in the number of nodes, and worsened with more segmentation. This new system uses a simpler adjacency-based partitioning system which is much more performant on large models.
Type of change
Checklist: