Skip to content

[Flydsl] Add Qwen-Image VAE classic conv shapes to conv3d tests - #1069

Draft
huizzhan wants to merge 2 commits into
mainfrom
feature/qwenimage-vae-conv-tests
Draft

[Flydsl] Add Qwen-Image VAE classic conv shapes to conv3d tests#1069
huizzhan wants to merge 2 commits into
mainfrom
feature/qwenimage-vae-conv-tests

Conversation

@huizzhan

Copy link
Copy Markdown

Summary

  • Add parametrized Qwen-Image VAE conv correctness tests to existing conv3d_implicit (BF16) and conv3d_implicit_fp8 (FP8) suites.
  • Cover T2I T=1 ResBlock 3×3×3 via 2D weight slice weight[:, :, 2, :, :].
  • Cover Resample downsample2d (ZeroPad + Conv2d stride=2) at encoder stages.

Test plan

  • python -m pytest tests/kernels/test_conv3d_implicit.py -k qwenimage -v (gfx95x)
  • python -m pytest tests/kernels/test_conv3d_implicit_fp8.py -k qwenimage -v (gfx95x)

Cover T2I T=1 ResBlock 3x3x3 (via 2D weight slice) and Resample downsample
cases in both BF16 and FP8 implicit-GEMM conv test suites.

Co-authored-by: Cursor <cursoragent@cursor.com>
@huizzhan huizzhan changed the title Add Qwen-Image VAE classic conv shapes to conv3d tests. [Flydsl] Add Qwen-Image VAE classic conv shapes to conv3d tests Aug 26, 2026
The decoder cases were derived from the config by assuming the channel
count keeps halving across up blocks (384 -> 192 -> 96 -> 48). It does
not: QwenImageDecoder3d applies in_dim // 2 inside the UpBlock loop,
which cancels the halving that upsample2d/3d performs. Forward-hook
traces of AutoencoderKLQwenImage show up_blocks.1 running 192->384 then
384->384, up_blocks.2 running 192->192, and up_blocks.3 running 96->96,
so dec_d1_res, dec_d2_res and dec_d3_res1 were exercising shapes that
never occur in the model. Their real counterparts are already covered by
the encoder entries, which is why dropping them loses no coverage; the
ids now name both sides.

Add the Resample upsample2d/3d convs, which were missing entirely and
are the largest real gap: 384->192 @512 and 192->96 @1024 are ~3% of
decode MACs each.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant