-
Notifications
You must be signed in to change notification settings - Fork 6.4k
FLUX: nonblocking and scheduler cpu indexing #9580
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
base: main
Are you sure you want to change the base?
Conversation
|
The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update. |
|
are you testing with flux pipeline? you can just add a set_begin_index from the pipeline to avoid that search step
|
|
Thanks for the pointer @yiyixuxu ! I updated the PR to use |
|
This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread. Please note that issues that do not follow the contributing guidelines are likely to be ignored. |
|
Hi, I apologize for the delay here. I have been profiling our pipelines and finding places for improvements continuosly to make Diffusers more production ready out-of-the-box. I will eventually club all PRs similar to this in the future and make sure that we don't have any synchronizations from start to end of pipeline execution |
|
This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread. Please note that issues that do not follow the contributing guidelines are likely to be ignored. |
What does this PR do?
Who can review?
@a-r-r-o-w
Tests
main branch: there are 2 visible cuda sync
first one happens here (it triggers cuda sync and has to wait for all preceding cuda ops to finish):
diffusers/src/diffusers/pipelines/flux/pipeline_flux.py
Line 363 in 99f6082
the second one happens inside of the first scheduler step:
diffusers/src/diffusers/schedulers/scheduling_flow_match_euler_discrete.py
Lines 288 to 289 in 99f6082
this branch: fixing both causes results in a nice profile view
profile is done by running the following code in a loop