lllyasviel / lllyasviel/stable-diffusion-webui-forge
Inconsistent performance between flux and SDXL with precision half and all-in-fp32 on AMD RDNA2
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 13k
- Forks
- 1.7k
- PR merge metrics
- No merged PRs in 30d
Description
I can get massive speedups on my AMD 6800xt for flux by enabling --all-in-fp32 rather than --precision half (on the nf4 model, still need to try with others). For SDXL, this has the opposite effect in pretty much the same magnitude (almost half as fast).
Flux with --precision half: 12-14s/it
Flux with --all-in-fp32: 7.something s/it
SDXL with --precision half 1.55 it/s or 0.64s/it
SDXL with --all-in-fp32 1.1s/it
(All for a 1152x896 image with >20 steps).
I still want test.with other flux models than the nf4, but it's very unexpected (the nf4 performance is in line.with what I got from fp8 a while back)
Am I taking crazy pills? And if that has to be for some reason, is there a way to switch the precision without restarting forge?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the reported Flux NF4 and SDXL runs on an AMD 6800 XT with --precision half and --all-in-fp32 at 1152x896 for more than 20 steps. Compare the measured iterations per second, then determine why the precision options behave differently and whether switching precision without restarting Forge is possible.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100