Download build/webgpu/bench.json from webgpu-kernels/com.microsoft.SkipLayerNormalization: direct link, hf CLI and curl.
- Browser
- Download file 13.5 kB
-
https://huggingface.co/kernels/webgpu-kernels/com.microsoft.SkipLayerNormalization/resolve/2760d09ccd1c20ef1384d0a9c4d1fe248ce01005/build/webgpu/bench.json
- Command line
-
hf download hf://webgpu-kernels/com.microsoft.SkipLayerNormalization@2760d09ccd1c20ef1384d0a9c4d1fe248ce01005/build/webgpu/bench.json
-
curl -L -o bench.json https://huggingface.co/kernels/webgpu-kernels/com.microsoft.SkipLayerNormalization/resolve/2760d09ccd1c20ef1384d0a9c4d1fe248ce01005/build/webgpu/bench.json
13.5 kB
| { | |
| "op": "com.microsoft.SkipLayerNormalization", | |
| "cases": [ | |
| { | |
| "name": "skip-layernorm-f32-256x128", | |
| "preset": "smoke", | |
| "vars": { "rows": 256, "hidden": 128 }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "shape": [256, 128], "dtype": "float32", "dist": "normal", "seed": 213, "scale": 0.2 }, | |
| "skipT": { "shape": [256, 128], "dtype": "float32", "dist": "normal", "seed": 214, "scale": 0.2 }, | |
| "gammaT": { "shape": [128], "dtype": "float32", "dist": "uniform", "seed": 215, "scale": 0.1, "offset": 1 }, | |
| "betaT": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 216, "scale": 0.1 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [256, 128], "dtype": "float32" }, | |
| "residualT": { "shape": [256, 128], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "primary": true, | |
| "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 2 * args.hidden)" }] | |
| } | |
| }, | |
| { | |
| "name": "skip-layernorm-f32-no-beta-output-256x128", | |
| "preset": "smoke", | |
| "vars": { "rows": 256, "hidden": 128 }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "shape": [256, 128], "dtype": "float32", "dist": "normal", "seed": 219, "scale": 0.2 }, | |
| "skipT": { "shape": [256, 128], "dtype": "float32", "dist": "normal", "seed": 220, "scale": 0.2 }, | |
| "gammaT": { "shape": [128], "dtype": "float32", "dist": "uniform", "seed": 221, "scale": 0.1, "offset": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [256, 128], "dtype": "float32" } }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (3 * args.rows * args.hidden + args.hidden)" }] } | |
| }, | |
| { | |
| "name": "skip-layernorm-f32-bias-256x128", | |
| "preset": "smoke", | |
| "vars": { "rows": 256, "hidden": 128 }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "shape": [256, 128], "dtype": "float32", "dist": "normal", "seed": 214, "scale": 0.2 }, | |
| "skipT": { "shape": [256, 128], "dtype": "float32", "dist": "normal", "seed": 215, "scale": 0.2 }, | |
| "gammaT": { "shape": [128], "dtype": "float32", "dist": "uniform", "seed": 216, "scale": 0.1, "offset": 1 }, | |
| "betaT": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 217, "scale": 0.1 }, | |
| "biasT": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 218, "scale": 0.05 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [256, 128], "dtype": "float32" }, | |
| "residualT": { "shape": [256, 128], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "primary": true, | |
| "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 3 * args.hidden)" }] | |
| } | |
| }, | |
| { | |
| "name": "skip-layernorm-f32-4096x768", | |
| "preset": "model", | |
| "vars": { "rows": 4096, "hidden": 768 }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 313, "scale": 0.2 }, | |
| "skipT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 314, "scale": 0.2 }, | |
| "gammaT": { "shape": [768], "dtype": "float32", "dist": "uniform", "seed": 315, "scale": 0.1, "offset": 1 }, | |
| "betaT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 316, "scale": 0.1 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [4096, 768], "dtype": "float32" }, | |
| "residualT": { "shape": [4096, 768], "dtype": "float32" } | |
| }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 2 * args.hidden)" }] } | |
| }, | |
| { | |
| "name": "skip-layernorm-f32-no-beta-output-4096x768", | |
| "preset": "model", | |
| "vars": { "rows": 4096, "hidden": 768 }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 319, "scale": 0.2 }, | |
| "skipT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 320, "scale": 0.2 }, | |
| "gammaT": { "shape": [768], "dtype": "float32", "dist": "uniform", "seed": 321, "scale": 0.1, "offset": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [4096, 768], "dtype": "float32" } }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (3 * args.rows * args.hidden + args.hidden)" }] } | |
| }, | |
| { | |
| "name": "skip-layernorm-f32-bias-4096x768", | |
| "preset": "model", | |
| "vars": { "rows": 4096, "hidden": 768 }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 314, "scale": 0.2 }, | |
| "skipT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 315, "scale": 0.2 }, | |
| "gammaT": { "shape": [768], "dtype": "float32", "dist": "uniform", "seed": 316, "scale": 0.1, "offset": 1 }, | |
| "betaT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 317, "scale": 0.1 }, | |
| "biasT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 318, "scale": 0.05 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [4096, 768], "dtype": "float32" }, | |
| "residualT": { "shape": [4096, 768], "dtype": "float32" } | |
| }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 3 * args.hidden)" }] } | |
| }, | |
| { | |
| "name": "skip-layernorm-f32-bias-output-only-4096x768", | |
| "preset": "model", | |
| "provenance": { | |
| "notes": "Ordinary inference shape with bias present and all three optional outputs omitted. It uses six storage buffers and writes only the primary output, isolating the output-only path from the full-output sibling at the same geometry." | |
| }, | |
| "vars": { "rows": 4096, "hidden": 768 }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 314, "scale": 0.2 }, | |
| "skipT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 315, "scale": 0.2 }, | |
| "gammaT": { "shape": [768], "dtype": "float32", "dist": "uniform", "seed": 316, "scale": 0.1, "offset": 1 }, | |
| "betaT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 317, "scale": 0.1 }, | |
| "biasT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 318, "scale": 0.05 } | |
| }, | |
| "outputs": { "outputT": { "shape": [4096, 768], "dtype": "float32" } }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (3 * args.rows * args.hidden + 3 * args.hidden)" }] } | |
| }, | |
| { | |
| "name": "skip-layernorm-f32-4096x770-hidden770-unaligned", | |
| "preset": "model", | |
| "vars": { "rows": 4096, "hidden": 770 }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "shape": [4096, 770], "dtype": "float32", "dist": "normal", "seed": 413, "scale": 0.2 }, | |
| "skipT": { "shape": [4096, 770], "dtype": "float32", "dist": "normal", "seed": 414, "scale": 0.2 }, | |
| "gammaT": { "shape": [770], "dtype": "float32", "dist": "uniform", "seed": 415, "scale": 0.1, "offset": 1 }, | |
| "betaT": { "shape": [770], "dtype": "float32", "dist": "normal", "seed": 416, "scale": 0.1 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [4096, 770], "dtype": "float32" }, | |
| "residualT": { "shape": [4096, 770], "dtype": "float32" } | |
| }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 2 * args.hidden)" }] } | |
| }, | |
| { | |
| "name": "skip-layernorm-f32-4096x768-hidden768-aligned-sibling", | |
| "preset": "model", | |
| "vars": { "rows": 4096, "hidden": 768 }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 413, "scale": 0.2 }, | |
| "skipT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 414, "scale": 0.2 }, | |
| "gammaT": { "shape": [768], "dtype": "float32", "dist": "uniform", "seed": 415, "scale": 0.1, "offset": 1 }, | |
| "betaT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 416, "scale": 0.1 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [4096, 768], "dtype": "float32" }, | |
| "residualT": { "shape": [4096, 768], "dtype": "float32" } | |
| }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 2 * args.hidden)" }] } | |
| }, | |
| { | |
| "name": "skip-layernorm-f32-rows1-hidden4096-decode", | |
| "preset": "model", | |
| "vars": { "rows": 1, "hidden": 4096 }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "shape": [1, 4096], "dtype": "float32", "dist": "normal", "seed": 513, "scale": 0.2 }, | |
| "skipT": { "shape": [1, 4096], "dtype": "float32", "dist": "normal", "seed": 514, "scale": 0.2 }, | |
| "gammaT": { "shape": [4096], "dtype": "float32", "dist": "uniform", "seed": 515, "scale": 0.1, "offset": 1 }, | |
| "betaT": { "shape": [4096], "dtype": "float32", "dist": "normal", "seed": 516, "scale": 0.1 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [1, 4096], "dtype": "float32" }, | |
| "residualT": { "shape": [1, 4096], "dtype": "float32" } | |
| }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 2 * args.hidden)" }] } | |
| }, | |
| { | |
| "name": "skip-layernorm-f32-rows4096-hidden4096-prefill-sibling", | |
| "preset": "model", | |
| "vars": { "rows": 4096, "hidden": 4096 }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "shape": [4096, 4096], "dtype": "float32", "dist": "normal", "seed": 513, "scale": 0.2 }, | |
| "skipT": { "shape": [4096, 4096], "dtype": "float32", "dist": "normal", "seed": 514, "scale": 0.2 }, | |
| "gammaT": { "shape": [4096], "dtype": "float32", "dist": "uniform", "seed": 515, "scale": 0.1, "offset": 1 }, | |
| "betaT": { "shape": [4096], "dtype": "float32", "dist": "normal", "seed": 516, "scale": 0.1 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [4096, 4096], "dtype": "float32" }, | |
| "residualT": { "shape": [4096, 4096], "dtype": "float32" } | |
| }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 2 * args.hidden)" }] } | |
| }, | |
| { | |
| "name": "skip-layernorm-f32-4096x4095-hidden4095-unaligned-largewidth", | |
| "preset": "model", | |
| "vars": { "rows": 4096, "hidden": 4095 }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "shape": [4096, 4095], "dtype": "float32", "dist": "normal", "seed": 613, "scale": 0.2 }, | |
| "skipT": { "shape": [4096, 4095], "dtype": "float32", "dist": "normal", "seed": 614, "scale": 0.2 }, | |
| "gammaT": { "shape": [4095], "dtype": "float32", "dist": "uniform", "seed": 615, "scale": 0.1, "offset": 1 }, | |
| "betaT": { "shape": [4095], "dtype": "float32", "dist": "normal", "seed": 616, "scale": 0.1 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [4096, 4095], "dtype": "float32" }, | |
| "residualT": { "shape": [4096, 4095], "dtype": "float32" } | |
| }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 2 * args.hidden)" }] } | |
| }, | |
| { | |
| "name": "skip-layernorm-f32-bias-8192x1025-unaligned-twopass-fallback", | |
| "preset": "stress", | |
| "vars": { "rows": 8192, "hidden": 1025 }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "shape": [8192, 1025], "dtype": "float32", "dist": "normal", "seed": 713, "scale": 0.2 }, | |
| "skipT": { "shape": [8192, 1025], "dtype": "float32", "dist": "normal", "seed": 714, "scale": 0.2 }, | |
| "gammaT": { "shape": [1025], "dtype": "float32", "dist": "uniform", "seed": 715, "scale": 0.1, "offset": 1 }, | |
| "betaT": { "shape": [1025], "dtype": "float32", "dist": "normal", "seed": 716, "scale": 0.1 }, | |
| "biasT": { "shape": [1025], "dtype": "float32", "dist": "normal", "seed": 717, "scale": 0.05 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [8192, 1025], "dtype": "float32" }, | |
| "residualT": { "shape": [8192, 1025], "dtype": "float32" } | |
| }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 3 * args.hidden)" }] } | |
| }, | |
| { | |
| "name": "skip-layernorm-f32-bias-65535x1-wg1-lowoccupancy-fallback", | |
| "preset": "edge", | |
| "vars": { "rows": 65535, "hidden": 1 }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "shape": [65535, 1], "dtype": "float32", "dist": "normal", "seed": 813, "scale": 0.2 }, | |
| "skipT": { "shape": [65535, 1], "dtype": "float32", "dist": "normal", "seed": 814, "scale": 0.2 }, | |
| "gammaT": { "shape": [1], "dtype": "float32", "dist": "uniform", "seed": 815, "scale": 0.1, "offset": 1 }, | |
| "betaT": { "shape": [1], "dtype": "float32", "dist": "normal", "seed": 816, "scale": 0.1 }, | |
| "biasT": { "shape": [1], "dtype": "float32", "dist": "normal", "seed": 817, "scale": 0.05 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [65535, 1], "dtype": "float32" }, | |
| "residualT": { "shape": [65535, 1], "dtype": "float32" } | |
| }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 3 * args.hidden)" }] } | |
| } | |
| ] | |
| } | |