Skip to content

[Feat] diffusion/disaggregation: Split FLUX.3 prompt and image encoders - #45309

Merged
mickqian merged 8 commits into
mainfrom
codex/flux3-disaggregated-encoders
Oct 23, 2026
Merged

mickqian merged 8 commits into
mainfrom
codex/flux3-disaggregated-encoders

Conversation

@mickqian

@mickqian mickqian commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Motivation

Deploy FLUX.3 Image's prompt encoder, reference-image encoder, DiT, and decoder independently, with a separate worker pool for each role, while keeping the existing image API and transfer protocol.

Modifications

  • Add prompt_encoder and image_encoder roles and head URL flags. T2I bypasses image encoding; image edits traverse all four pools.
  • Load only the components owned by each worker. Preserve the combined encoder topology and monolithic pipeline.
  • Transfer nested FLUX.3 conditioning tensors through the existing codec, preserving model-specific sampling parameters, explicit dimensions, and crop metadata.
  • Track transfer ownership explicitly, reclaim scheduling slots, ignore duplicate transfer notifications, and avoid sending encoding payloads to the decoder.
  • Inline head-local uploads for remote image workers and redact inline media in request logs.
  • Update the deployment guide, CLI reference, and FLUX.3 cookbook, including ports, pool sizing, request examples, and validation limits.

Accuracy Tests

Remote validation with the official BF16 FLUX.3 Image Klein package on 3 H200 GPUs, same-node multi-process Mooncake RDMA, quality=exact:

  • Four-role topology on the PR head: concurrent fixed-seed 1024x1024 / 16-step T2I and multipart image editing; returned image pixels match the monolithic API exactly. Edits retain the 247x239 reference size.
  • Combined three-role topology: 1024x1024 / 16-step T2I and reference-size-preserving editing also match monolithic outputs exactly.
  • Relevant unit tests: 113 passed and 17 subtests passed, covering nested tensor transport, sampling semantics, real ZMQ orchestration, slot reuse, duplicate messages, and error propagation.

Pre-commit passes. The three changed MDX pages compile. Full-site Mintlify validation is blocked by an unchanged syntax error in docs/src/snippets/configs/popular-models.jsx, also present on main.

Speed Tests and Profiling

No latency or throughput speedup is claimed. Separation adds transfer hops and enables independent placement and scaling. Cross-node execution has not been validated. This PR does not add a standalone training encoder API.


CI States

Latest PR Test (Base): ✅ Run #39389788399
Latest PR Test (Extra): ❌ Run #39389788015
Latest PR Test (AMD ROCm 10): ❌ Run #39389788395

@mintlify

mintlify Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
sglang-doc 🟢 Ready View Preview Oct 20, 2026, 6:09 AM

💡 Tip: Enable Automations to automatically generate PRs for you.

@github-actions github-actions Bot added documentation Improvements or additions to documentation diffusion SGLang Diffusion labels Oct 20, 2026
@mickqian mickqian added the run-ci CI: run the baseline test suite on this PR label Oct 20, 2026
@github-actions

This comment has been minimized.

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 run-ci CI: run the baseline test suite on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant