nx_f32_vae_decode_tiny.nx
buildroot/runtime/nx_f32_vae_decode_tiny.nx
about
nx_f32_vae_decode_tiny.nx -- first end-to-end sovereign f32 VAE-DECODE (latent -> RGB), the R4/R7
integration milestone of the sd-server -> Nishi migration.
Composes the now-gated sovereign f32 bricks into the canonical VAE-decoder shape:
latent[1,Cz,Hl,Wl]
-> conv_in (Cz->Cm, 3x3 pad1) nx_f32_conv2d
-> ResBlock (Cm) nx_f32_resblock (GN->SiLU->Conv x2 + residual)
-> upsample (2x) nx_f32_upsample
-> conv_out (Cm->3, 3x3 pad1) nx_f32_conv2d
-> RGB[1,3,2*Hl,2*Wl]
This is the "decode half" of txt2img, proven to COMPOSE + run end-to-end + be deterministic on the
software-f32 tier with no third-party. The full Flux/Z-Image decoder is this shape scaled up (16-ch
latent, more ResBlocks, 3 upsample stages) with REAL dequantized GGUF weights -- the next rungs wire
nx_gguf_load_model + nx_q4k_to_f32 in. Here the weights are fixed small values to prove the pipeline.
license_tier: ORIGINAL
dependencies 7 imports · 0 importers
imports: nx_syscalls.nxnx_f32.nxnx_f32_div.nxnx_f32_cvt.nxnx_f32_conv2d.nxnx_f32_resblock.nxnx_f32_upsample.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| none |
functions
| 25 | func nx_f32vd_fill(buf: *i64, n: i64, val: i64) -> i64 called by 1: main |
| 33 | func nx_f32_vae_decode_tiny_run(latent: *i64, Cz: i64, Cm: i64, Hl: i64, Wl: i64, G: i64, |
| 57 | func main() -> i64 |