Conversation
The qwix pin (commit 408a0f48, Dec 2025) predates google/qwix@98a44ed0 (2026-01-07), which added `out_sharding` to QtProvider.conv_general_dilated. Flax >= 0.12.6 (our minimum) always passes `out_sharding` from nnx.Conv, so qwix.quantize_model fails on the first conv (Wan patch_embedding) with: TypeError: QtProvider.conv_general_dilated() got an unexpected keyword argument 'out_sharding' This breaks every qwix-quantized run (e.g. Wan 2.1 FP8 training, b/537854580). qwix 0.1.8 (PyPI, 2026-06-22) includes the fix and requires only flax>=0.12.0. Switching from a GitHub archive URL to a PyPI version also keeps direct URL references out of the package metadata. The generated requirements and deps table are edited by hand to avoid unrelated churn from re-running seed-env.
There was a problem hiding this comment.
Code Review
This pull request updates the qwix dependency from a GitHub archive URL to a pinned PyPI version (qwix==0.1.8) across multiple requirements files and the dependency versions table, while also removing it from the extra GitHub dependencies list. There are no review comments, and I have no feedback to provide.
Test resultsImage: 1. BF16 regression check: internal Ironwood nightly benchmark harness (XPK), Ironwood 4x4x4Test
2. FP8 (
|
| qwix | QtProvider.conv_general_dilated accepts out_sharding |
Result |
|---|---|---|
| 0.1.8 (this PR) | yes | Qwix Quantization complete. in 36.8 s |
| 408a0f48 (current pin) | no | TypeError: QtProvider.conv_general_dilated() got an unexpected keyword argument 'out_sharding'. This is the exact nightly failure. |
Note on the full FP8 nightly-harness run
I tried the full wan2_1_14b_75600_fp8_4x4x4_1 harness run several times today. It never reached training: the 16 hosts stalled on anonymous Hugging Face downloads (text encoder and transformer) during daytime runs. That hang happens before any qwix code runs and is unrelated to this change. The real nightly does get past the downloads (that's how it hits the TypeError), so the nightly after merge will be the end-to-end confirmation.
Summary
Pins
qwixto the PyPI release0.1.8, replacing the GitHub archive pin408a0f48(Dec 2025).Why
The current pin predates google/qwix@98a44ed0 (2026-01-07, "Add out_sharding parameter to Qwix conv_general_dilated functions"). Flax >= 0.12.6 (our minimum; the images ship 0.12.9) always passes
out_shardingfromnnx.Conv.__call__, soqwix.quantize_modelfails on the first convolution (Wanpatch_embedding):This breaks every qwix-quantized run. For example, the Ironwood nightly
wan2_1_14b_75600_fp8_4x4x4_1(b/537854580) has never passed.qwix==0.1.8(2026-06-22) includes the fix (QtProvider.conv_general_dilated(..., out_sharding=None)) and requires onlyflax>=0.12.0.Changes
generated_requirements/requirements.txtandbase_requirements/requirements.txt:qwix==0.1.8extra_deps_from_github.txt: drop qwix, since it now comes from PyPIdependency_versions_table.py: matching entryThe generated requirements and the deps table are edited by hand. Re-running seed-env would re-resolve every package and add unrelated churn. An exact pin is used so that
pip install .andsetup.sh(--resolution=lowest) resolve the same version.Testing
Validation is in progress: a runner image built from this branch, run through the Ironwood ubench FP8 workload. Results will be posted here.