|
Download benchmarks/RESULTS.md from flashrt/adaptive-layernorm-producers: direct link, hf CLI and curl.
- Browser
- Download file 3.4 kB
-
https://huggingface.co/flashrt/adaptive-layernorm-producers/resolve/main/benchmarks/RESULTS.md
- Command line
-
hf download hf://flashrt/adaptive-layernorm-producers/benchmarks/RESULTS.md
-
curl -L -o RESULTS.md https://huggingface.co/flashrt/adaptive-layernorm-producers/resolve/main/benchmarks/RESULTS.md
3.4 kB
| # adaptive-layernorm-producers Benchmark Results | |
| Local source-build benchmark: | |
| - GPU: NVIDIA GeForce RTX 5090 | |
| - Driver: 580.82.07 | |
| - Runtime: local Torch 2.11 / CUDA 12.8 environment | |
| - Command: `python adaptive-layernorm-producers/benchmarks/benchmark.py --backend source --iters 100` | |
| - Baseline: PyTorch eager producer chain with equivalent operations. | |
| - Status: source correctness passed before benchmark. Refresh this table after | |
| installed-artifact validation on each target hardware. | |
| | Shape | Rows | Dim | AdaLN->FP8 us | Eager chain us | Speedup | LN->FP8 us | Eager LN chain us | Speedup | | |
| |---|---:|---:|---:|---:|---:|---:|---:|---:| | |
| | decode_action | 16 | 2048 | 4.117 | 65.010 | 15.79x | 3.962 | 48.006 | 12.12x | | |
| | wan_video_short | 64 | 3072 | 4.133 | 63.425 | 15.35x | 4.117 | 47.826 | 11.62x | | |
| | wan_video_ctx | 256 | 3072 | 4.140 | 69.821 | 16.86x | 4.108 | 55.611 | 13.54x | | |
| | wan_video_2k | 2520 | 3072 | 12.330 | 263.276 | 21.35x | 10.267 | 218.926 | 21.32x | | |
| | wan_video_4k | 4096 | 3072 | 18.465 | 463.733 | 25.11x | 16.412 | 394.908 | 24.06x | | |
| ## Six-way modulation producer | |
| The new `adaln_modulation6_bf16` path was measured against its raw CUDA | |
| launcher, the Tensor wrapper, eager, and `torch.compile`. Graph figures capture | |
| 32 identical launches per graph and divide replay time by 32, avoiding a graph | |
| launch-floor artifact for the smallest row. | |
| | Shape | Native us | Wrapper us | Graph native us | Graph wrapper us | Eager us | Compile us | Wrapper/native | Graph wrapper/native | | |
| |---|---:|---:|---:|---:|---:|---:|---:|---:| | |
| | GROOT DiT B1 S51 D1536 | 2.221 | 3.052 | 1.536 | 1.663 | 48.804 | 43.536 | 1.374 | 1.083 | | |
| | Motus B1 S2520 D3072 | 175.952 | 176.183 | 165.263 | 165.513 | 209.040 | 176.665 | 1.001 | 1.002 | | |
| | video long B1 S5070 D3072 | 347.251 | 354.773 | 344.858 | 344.592 | 582.678 | 354.059 | 1.022 | 0.999 | | |
| The direct S51 row exposes about `0.83 us` of dispatcher overhead. The | |
| multi-launch CUDA Graph path reduces the absolute gap to `0.127 us`. Both | |
| figures are retained; the direct row is not described as native-equivalent. | |
| ## NVIDIA Thor installed artifact | |
| - Device: NVIDIA Thor, SM110, aarch64 | |
| - Runtime: PyTorch 2.11.0 + CUDA 13.0 | |
| - Variant: `torch211-cxx11-cu130-aarch64-linux` | |
| - Source commit: `9b532b42ad71d0ef6bc79d1372e96910087faad4` | |
| - Artifact code objects: SM87 and SM110a; measurements below are SM110a | |
| - Kernel Hub `v1` artifact SHA256: `2b5542ae448332ebd4d1f2ca2f0030f88200061f8d2e64eb8581c314e7d7322c` | |
| The full installed-artifact correctness matrix passed. The two per-token | |
| producer entries were also measured against their raw registered ops. Outputs | |
| were bit-exact in every row. | |
| | Op | Shape | Raw us | Wrapper us | Wrapper/raw | Graph wrapper/raw us | | |
| |---|---|---:|---:|---:|---:| | |
| | per-token | GROOT DiT M51 D1536 | 6.154 | 6.148 | 0.999 | 6.211 / 6.224 | | |
| | table per-token | GROOT DiT M51 D1536 | 6.166 | 6.150 | 0.997 | 7.127 / 6.607 | | |
| | per-token | vision M105 D1152 | 8.204 | 8.207 | 1.000 | 8.203 / 8.377 | | |
| | table per-token | vision M105 D1152 | 8.210 | 8.210 | 1.000 | 8.204 / 8.703 | | |
| | per-token | video M2520 D3072 | 229.922 | 229.936 | 1.000 | 229.984 / 230.797 | | |
| | table per-token | video M2520 D3072 | 230.174 | 229.929 | 0.999 | 229.719 / 230.431 | | |
| The table reports the uploaded SM87+SM110a fat binary on Thor. SM87 is present | |
| as native cubin code but is not included in these runtime measurements. | |