Repository navigation
[CI/Build] Install fa3-fwd 0.0.3 with the dev extra - #9393
Conversation
Nightly builds docker/Dockerfile.ci with .[dev]. vllm-project#9201 binds the Hopper dense kernel only when fa3-fwd is already installed, and vllm-project#7735 removed it from the hard CUDA requirements, so the H100 image stays on the slower varlen path. Pin it in the dev extra so CI gets the package without making a normal vllm-omni install depend on it. Signed-off-by: NumberWan <wantszkin2003@gmail.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
|
@yenuo26 PTAL |
|
This PR was classified as CI work. CI owner: @yenuo26 @Gaohan123 @hsliuustc0106 Routing: @yenuo26 via CI owner; @Gaohan123 via CODEOWNERS; @hsliuustc0106 via CODEOWNERS @NumberWan, please review your own changes and leave a short self-review comment describing what you checked. PRs without author self-review may not be assigned a reviewer. Please take a look when you have a chance. If you would like an automated review, mention @vllm-omni-review-bot in a comment. |
The nightly-test label only keeps diffusion_qwen_image_perf when that job's source files change. pyproject.toml is not one of them, so the perf job would be skipped. Record the Hopper dense-kernel note on the perf JSON so the job is selected. Signed-off-by: NumberWan <wantszkin2003@gmail.com>
|
H100 single-GPU Qwen-Image results from Buildkite #18115. The image build installed
The c=1 row that was 4.088 s vs 2.547 s (+60.5%) on the earlier nightly is 2.318 s here. The 4-GPU job also passed (9m 35s); those rows are not in this table. |
hsliuustc0106
left a comment
There was a problem hiding this comment.
- @NumberWan, please make the Qwen-Image performance evidence comparable to
8a08025f9af29bb82ade674e91d9c70739b837e8: provide the exact command, H100/software/model configuration, warmup/repetition counts and raw results for matched runs with and withoutfa3-fwd==0.0.3on the same revision (or pinned base/head environments differing only by this dependency). Include the selected attention path and an output-parity/quality guard with its tolerance. The #18115 table versus stored baseline numbers and the earlierc0d14249asmoke do not establish that matched comparison. Acceptance: the restored dense-path timing and output correctness are reproducible under the same workload. If only packaging/install behavior is being claimed, explicitly bound the conclusion accordingly rather than treating the timing table as current-head validation.
Contributor intent (required human answers)
1. What outcome do you want to achieve?
Nightly CUDA CI should install
fa3-fwd==0.0.3, so the optional Hopper dense bind from #9201 is present in the image.2. What is the highest-leverage variable for that outcome?
Whether
fa3-fwdis in thedevextra.docker/Dockerfile.cialready runsuv pip install -e ".[dev]". A normalpip install vllm-omnidoes not.3. How will this work move that variable?
Pin
fa3-fwd==0.0.3in[project.optional-dependencies] dev. The next nightly image rebuild hashespyproject.tomland installs the wheel. The runtime bind stays Hopper-only and still does nothing when the package is absent.4. Whose customer or user needs does this address, and what are those needs?
H100 nightly Qwen-Image performance (#9092). After #9201 merged, those rows stayed on the slow varlen path because the image never installed
fa3-fwd. A plainpip install vllm-omnistays unchanged.Purpose
Before: #7735 removed
fa3-fwdfrom the hard CUDA requirements. #9201 bindsfa3_fwd_interface.flash_attn_funconly when that package is already installed and the GPU is SM90. Nightly buildsdocker/Dockerfile.ciwith.[dev]and never installs the wheel, so unmasked BF16 dense attention stays on vLLM varlen (fa_version=3).After:
.[dev]installsfa3-fwd==0.0.3. The CUDA nightly image, and the ROCm and XPU images that also install[dev], get the wheel. The bind still runs only on Hopper.requirements/cuda.txtis unchanged, sopip install vllm-omnidoes not gain a hard dependency.No user-guide page says the dev extra excludes this package. The optional-bind contract in
vllm_omni/diffusion/attention/backends/utils/fa.pyis unchanged.Test Plan
vLLM Version: 0.32.0
vLLM-Omni Commit: selection measured on main
c0d14249awith and without the wheel. This PR only adds the pin (089740813).Test Result
Local L20X (SM90), Qwen-Image
512x512_steps20, same main tree:fa3-fwd==0.0.3: latency 2.0638 s, pathoptional_fa3_fwd_densevllm_varlen_emulation(fa_version=3)This PR does not change that selection. It was not re-run on
089740813, and the nightly image was not rebuilt here.pre-commit run --files pyproject.tomlpassed.Not run: full pytest, a GPU repro of this commit, a nightly image build.