FastWan WebGPU Bench
fastwan-rs · WebGPU backend

FastWan WebGPU Bench

Runs the WGSL kernels of the fastwan-rs WebGPU backend on this machine's GPU, checks each one against an f32 JavaScript reference, measures throughput at Wan 2.1 1.3B shapes, and estimates how long a 3-step DMD clip would take here.

Device

detecting

Kernel conformance

waiting for the GPU
KernelCaseRel. errorResult

Pass means max |GPU − reference| / max |reference| ≤ 2·10⁻³. Weights go to the GPU as f16 pairs packed in u32, as the Rust backend stores them; the reference uses the unrounded f32 weights, so the f16 cases measure the real storage error.

Throughput

KernelShapems / callTFLOP/s
Not run yet. Takes 10–60 s on a desktop GPU; the tab may stutter while it runs. On a weak or software GPU, add #quick to the address for small shapes.

Clip estimate on this GPU

3 DMD steps · 30 layers · dense attention
GeometryTokensLargest bufferFits bindingPer stepDenoise

Per-step time is the FLOP count of one DiT forward split into GEMM work (QKV, projections, FFN) and attention work, each divided by the rate measured above. It leaves out the norms, the decoder and dispatch overhead, so treat it as a lower bound. Self-attention grows with tokens², which is why it dominates at 480p and why video sparse attention is the next kernel to write.