pub struct QwenImageBlockArgs<'a> {Show 46 fields
pub image: &'a mut [f32],
pub text: &'a mut [f32],
pub image_norm: &'a [f32],
pub text_norm: &'a [f32],
pub image_tokens: usize,
pub text_tokens: usize,
pub heads: usize,
pub head_dim: usize,
pub image_cos: &'a [f32],
pub image_sin: &'a [f32],
pub text_cos: &'a [f32],
pub text_sin: &'a [f32],
pub image_q: usize,
pub image_k: usize,
pub image_v: usize,
pub text_q: usize,
pub text_k: usize,
pub text_v: usize,
pub image_out: usize,
pub text_out: usize,
pub image_q_norm: &'a [f32],
pub image_k_norm: &'a [f32],
pub text_q_norm: &'a [f32],
pub text_k_norm: &'a [f32],
pub image_q_bias: &'a [f32],
pub image_k_bias: &'a [f32],
pub image_v_bias: &'a [f32],
pub text_q_bias: &'a [f32],
pub text_k_bias: &'a [f32],
pub text_v_bias: &'a [f32],
pub image_out_bias: &'a [f32],
pub text_out_bias: &'a [f32],
pub image_attn_gate: &'a [f32],
pub text_attn_gate: &'a [f32],
pub image_mlp_in: usize,
pub image_mlp_out: usize,
pub text_mlp_in: usize,
pub text_mlp_out: usize,
pub image_mlp_in_bias: &'a [f32],
pub image_mlp_out_bias: &'a [f32],
pub text_mlp_in_bias: &'a [f32],
pub text_mlp_out_bias: &'a [f32],
pub image_mlp_mod: &'a [f32],
pub text_mlp_mod: &'a [f32],
pub image_mlp_gate: &'a [f32],
pub text_mlp_gate: &'a [f32],
}Expand description
Complete Qwen Image transformer block contract. The first norm/mod
panels are supplied by the native caller; the WGPU arm keeps both streams
resident through QKV, QK/RoPE, joint attention, output projections, both
gated residuals, and the exact tanh-GELU MLPs. A backend that cannot
satisfy the whole graph returns false without changing either output.
Fields§
§image: &'a mut [f32]Raw stream state is read for the first gated residual and overwritten with the block’s final state after the one readback.
text: &'a mut [f32]§image_norm: &'a [f32]§text_norm: &'a [f32]§image_tokens: usize§text_tokens: usize§heads: usize§head_dim: usize§image_cos: &'a [f32]§image_sin: &'a [f32]§text_cos: &'a [f32]§text_sin: &'a [f32]§image_q: usize§image_k: usize§image_v: usize§text_q: usize§text_k: usize§text_v: usize§image_out: usize§text_out: usize§image_q_norm: &'a [f32]§image_k_norm: &'a [f32]§text_q_norm: &'a [f32]§text_k_norm: &'a [f32]§image_q_bias: &'a [f32]§image_k_bias: &'a [f32]§image_v_bias: &'a [f32]§text_q_bias: &'a [f32]§text_k_bias: &'a [f32]§text_v_bias: &'a [f32]§image_out_bias: &'a [f32]§text_out_bias: &'a [f32]§image_attn_gate: &'a [f32]§text_attn_gate: &'a [f32]§image_mlp_in: usize§image_mlp_out: usize§text_mlp_in: usize§text_mlp_out: usize§image_mlp_in_bias: &'a [f32]§image_mlp_out_bias: &'a [f32]§text_mlp_in_bias: &'a [f32]§text_mlp_out_bias: &'a [f32]§image_mlp_mod: &'a [f32]§text_mlp_mod: &'a [f32]§image_mlp_gate: &'a [f32]§text_mlp_gate: &'a [f32]Auto Trait Implementations§
impl<'a> !UnwindSafe for QwenImageBlockArgs<'a>
impl<'a> Freeze for QwenImageBlockArgs<'a>
impl<'a> RefUnwindSafe for QwenImageBlockArgs<'a>
impl<'a> Send for QwenImageBlockArgs<'a>
impl<'a> Sync for QwenImageBlockArgs<'a>
impl<'a> Unpin for QwenImageBlockArgs<'a>
impl<'a> UnsafeUnpin for QwenImageBlockArgs<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more