pub struct ZStepArgs<'a> {
pub key: u64,
pub step: usize,
pub x_tok: &'a [f32],
pub mods: &'a [f32],
pub final_scale: &'a [f32],
pub out: &'a mut [f32],
pub out_neg: Option<&'a mut [f32]>,
}Expand description
Once per denoising step.
Fields§
§key: u64The ZPrepareArgs::key this step belongs to. A key the backend has
not prepared → false.
step: usizeStep index into the schedule (0..steps); selects the row of
ZPrepareArgs::mods_all when a backend uses it.
x_tok: &'a [f32][n_img_p, 64] patchified latent, inner order (dy·2+dx)·16+c. Rows
≥ n_img are copies of the last row; the backend replaces them with
x_pad after the embed.
mods: &'a [f32]Per block (noise_refiner then layers) the RAW chunks [scale_msa, gate_msa, scale_mlp, gate_mlp] of Linear(temb) (no SiLU before it), [(2+30)·4·hidden]. The backend applies (1+s) and tanh(g).
final_scale: &'a [f32][hidden] = 1 + Linear(SiLU(temb)) — already includes the +1.
out: &'a mut [f32][n_img, 64]: the model output v (before the pipeline’s negation), image rows only, patchified order.
out_neg: Option<&'a mut [f32]>[n_img, 64]: the negative item’s v — required (and only valid) for
a key prepared with ZPrepareArgs::neg. Both items see x_tok.