Qwen-Image 2.1, FP8 β radiance container
Qwen/Qwen-Image-2.1 β text to image and image editing β as a single
.rad container for the radiance inference engine (AMD RDNA4, ROCm):
the Qwen3-VL-8B conditioning network with its vision tower, the 7.1B diffusion transformer and the RGBA VAE.
| File | qwen-image-2.1-fp8.rad β 16.08 GiB |
| Weights | the conditioning network's (Qwen3-VL-8B) and the diffusion transformer's linears FP8 E4M3 per 128Γ128 block (bf16 scales); the vision tower, the small linears, the norms and the VAE bf16 |
| Steps | 40 by default (num_inference_steps, or quality: low / medium / high) |
| Needs | radiance built from main after 1.5.0 β Qwen-Image support is not in 1.5.0 and comes with the next release |
Serve
# one card
radiance --model qwen-image-2.1-fp8.rad --host 0.0.0.0 --port 8000
# two cards; --tp-wire wht6 sends the all-reduces as 6-bit (about 9% faster, within a dB of exact)
radiance --model qwen-image-2.1-fp8.rad --tp 2 --tp-wire wht6 --host 0.0.0.0 --port 8000
The server speaks OpenAI's Images API: POST /v1/images/generations and POST /v1/images/edits
(JSON, or multipart with image / image[] and mask, as OpenAI's SDKs send them). Pictures come back as
b64_json (png, jpeg or webp; response_format: url is refused). Also: n, size (WxH or auto =
2048x2048), seed, streaming with partial_images, background: transparent; edits take 1 to 10 reference
pictures and a mask. /v1/models lists the model.
Seconds a picture on Radeon AI PRO R9700 (gfx1201); 2048x2048 at the default 40 steps, 1024x1024 at 20:
| 2048x2048 | 1024x1024 | 1024x1024 edit | |
|---|---|---|---|
| one card | 104.9 | 9.5 | 11.9 |
| two cards | 61.1 | 6.0 | 7.4 |
two cards, --tp-wire wht6 |
55.8 | 5.2 | 6.6 |
Against diffusers' own bf16 pipeline from the same noise (1024x1024, 20 steps), PSNR 28.9 dB on a prompt and 38.5 dB on an edit; radiance's bf16 build of the same model is at 33.9 / 42.2 dB, where diffusers differs from itself by 32.6 to 34.4 dB across its attention kernels.
How this file was made
rad-convert Qwen/Qwen-Image-2.1 --recipe qwen-image-2.1-fp8.recipe -o qwen-image-2.1-fp8.rad
Qwen/Qwen-Image-2.1 is the diffusers download of that repository.
The recipe (qwen-image-2.1-fp8.recipe in this repository) names what is quantised; everything it does not
name is the checkpoint's own dtype:
te.blk.*.attn_qkv.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
te.blk.*.attn_output.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
te.blk.*.ffn_gate_up.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
te.blk.*.ffn_down.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
dit.blk.*.attn_qkv.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
dit.blk.*.attn_output.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
dit.blk.*.ffn_gate_up.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
dit.blk.*.ffn_down.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
vae.* cast dtype=bf16
License
Built with Qwen. Qwen-Image 2.1 is licensed under the Qwen RESEARCH LICENSE AGREEMENT
(non-commercial; LICENSE in this repository), and NOTICE carries its attribution. This container is a
modified copy: its linear weights are re-encoded as FP8 (see above).
Model tree for StillDeadcode/radiance-qwen-image-2.1-fp8
Base model
Qwen/Qwen-Image-2.1