Skip to content

[diffusion] benchmark: enable performance benchmark with warmup#15773

Closed
fsygd wants to merge 5 commits intosgl-project:mainfrom
fsygd:run-benchmark-with-warmup
Closed

[diffusion] benchmark: enable performance benchmark with warmup#15773
fsygd wants to merge 5 commits intosgl-project:mainfrom
fsygd:run-benchmark-with-warmup

Conversation

@fsygd
Copy link
Contributor

@fsygd fsygd commented Dec 24, 2025

Motivation

Performance benchmark will be better with warmup to get more accurate performance, especially when something like DeepGemm is involved. (e.g. #15403)

without warmup on H200:

image

with warmup on H100:

image

Modifications

Accuracy Tests

Benchmarking and Profiling

Checklist

@gemini-code-assist
Copy link
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@github-actions github-actions bot added documentation Improvements or additions to documentation diffusion SGLang Diffusion labels Dec 24, 2025
return

bootstrap_info = f", bootstrap_room={self.bootstrap_room}" if self.bootstrap_room is not None else ""
bootstrap_info = (
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why this😂

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pre-commit did this, not me. Should I rollback?

@mickqian
Copy link
Collaborator

@BBuf would you take a look?

@fsygd
Copy link
Contributor Author

fsygd commented Dec 27, 2025

Any blocker? @mickqian

@fsygd fsygd requested a review from mickqian December 27, 2025 15:31
@BBuf
Copy link
Collaborator

BBuf commented Dec 29, 2025

If warmup is enabled by default here, it might mask some performance issues that would otherwise be discoverable, such as the problem found previously here: #15511. For offline inference, you must accept the warmup cost. For serving, the first request also has to accept the warmup cost. For subsequent requests, if the resolution changes or similar things happen, deepgemm still needs to recompile, which also has a cost. These should not be removed, especially for profiling.

@fsygd
Copy link
Contributor Author

fsygd commented Dec 29, 2025

If warmup is enabled by default here, it might mask some performance issues that would otherwise be discoverable, such as the problem found previously here: #15511. For offline inference, you must accept the warmup cost. For serving, the first request also has to accept the warmup cost. For subsequent requests, if the resolution changes or similar things happen, deepgemm still needs to recompile, which also has a cost. These should not be removed, especially for profiling.

I see, warmup by default may hide something we concern. May i add warmup for option maybe sometimes we need it, or just close the pr?

@fsygd fsygd closed this Dec 29, 2025
@fsygd fsygd reopened this Dec 30, 2025
@fsygd fsygd force-pushed the run-benchmark-with-warmup branch from 51a933c to 876f881 Compare December 30, 2025 09:09
@fsygd fsygd force-pushed the run-benchmark-with-warmup branch from 876f881 to fa6535d Compare December 30, 2025 11:22
@fsygd
Copy link
Contributor Author

fsygd commented Dec 30, 2025

Warmup is an option now, PTAL @mickqian @BBuf @RubiaCx @FlamingoPg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

diffusion SGLang Diffusion documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments