Download build/webgpu/bench.json from webgpu-kernels/ai.onnx.GlobalAveragePool: direct link, hf CLI and curl.
- Browser
- Download file 8.61 kB
-
https://huggingface.co/kernels/webgpu-kernels/ai.onnx.GlobalAveragePool/resolve/v1/build/webgpu/bench.json
- Command line
-
hf download hf://webgpu-kernels/ai.onnx.GlobalAveragePool@v1/build/webgpu/bench.json
-
curl -L -o bench.json https://huggingface.co/kernels/webgpu-kernels/ai.onnx.GlobalAveragePool/resolve/v1/build/webgpu/bench.json
8.61 kB
| { | |
| "cases": [ | |
| { | |
| "name": "nchw_1x2048x7x7", | |
| "preset": "smoke", | |
| "inputs": { "x": { "dtype": "float32", "shape": [1, 2048, 7, 7] } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 2048, 1, 1] } } | |
| }, | |
| { | |
| "name": "nchw_16x512x64x64_wg_parallel", | |
| "preset": "smoke", | |
| "vars": { "batch": 16, "channels": 512, "spatial": 4096 }, | |
| "inputs": { "x": { "dtype": "float32", "shape": [16, 512, 64, 64], "dist": "normal", "seed": 201 } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [16, 512, 1, 1], "dist": "empty" } }, | |
| "bench": { | |
| "primary": true, | |
| "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * 4" }] | |
| } | |
| }, | |
| { | |
| "name": "nchw_f16_8x256x32x32_wg_parallel", | |
| "preset": "smoke", | |
| "vars": { "dtype": "float16", "batch": 8, "channels": 256, "spatial": 1024 }, | |
| "inputs": { "x": { "dtype": "float16", "shape": [8, 256, 32, 32], "dist": "normal", "seed": 203 } }, | |
| "outputs": { "y": { "dtype": "float16", "shape": [8, 256, 1, 1], "dist": "empty" } }, | |
| "bench": { | |
| "metrics": [ | |
| { "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * dtypeBytes(args.dtype)" } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "nchw_1x2048x7x7_smallspatial_scalar", | |
| "preset": "smoke", | |
| "vars": { "batch": 1, "channels": 2048, "spatial": 49 }, | |
| "inputs": { "x": { "dtype": "float32", "shape": [1, 2048, 7, 7], "dist": "normal", "seed": 211 } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 2048, 1, 1], "dist": "empty" } }, | |
| "bench": { | |
| "primary": true, | |
| "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * 4" }] | |
| } | |
| }, | |
| { | |
| "name": "nchw_1x2048x8x8_spatial64_vec4_planeparallel", | |
| "preset": "smoke", | |
| "vars": { "batch": 1, "channels": 2048, "spatial": 64 }, | |
| "inputs": { "x": { "dtype": "float32", "shape": [1, 2048, 8, 8], "dist": "normal", "seed": 212 } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 2048, 1, 1], "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * 4" }] } | |
| }, | |
| { | |
| "name": "nchw_1x1024x65x65_planeparallel_scalar_unaligned", | |
| "preset": "smoke", | |
| "vars": { "batch": 1, "channels": 1024, "spatial": 4225 }, | |
| "inputs": { "x": { "dtype": "float32", "shape": [1, 1024, 65, 65], "dist": "normal", "seed": 213 } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1024, 1, 1], "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * 4" }] } | |
| }, | |
| { | |
| "name": "nchw_1x1024x66x66_planeparallel_vec4_aligned", | |
| "preset": "smoke", | |
| "vars": { "batch": 1, "channels": 1024, "spatial": 4356 }, | |
| "inputs": { "x": { "dtype": "float32", "shape": [1, 1024, 66, 66], "dist": "normal", "seed": 214 } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1024, 1, 1], "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * 4" }] } | |
| }, | |
| { | |
| "name": "nchw_1x8x256x256_lowoccupancy_8planes", | |
| "preset": "smoke", | |
| "vars": { "batch": 1, "channels": 8, "spatial": 65536 }, | |
| "inputs": { "x": { "dtype": "float32", "shape": [1, 8, 256, 256], "dist": "normal", "seed": 215 } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 8, 1, 1], "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * 4" }] } | |
| }, | |
| { | |
| "name": "f32_inner63_below_subgroup_gate_1x2048x7x9", | |
| "preset": "edge", | |
| "vars": { "batch": 1, "channels": 2048, "spatial": 63 }, | |
| "inputs": { "x": { "dtype": "float32", "shape": [1, 2048, 7, 9], "dist": "normal", "seed": 301 } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 2048, 1, 1], "dist": "empty" } }, | |
| "bench": { | |
| "primary": true, | |
| "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * 4" }] | |
| } | |
| }, | |
| { | |
| "name": "nchw_1x1024x14x14_portable_gate_window", | |
| "provenance": { "notes": "Measures global average pooling over 1024 channels of a 14x14 (196-element) plane." }, | |
| "preset": "smoke", | |
| "vars": { "batch": 1, "channels": 1024, "spatial": 196 }, | |
| "inputs": { "x": { "dtype": "float32", "shape": [1, 1024, 14, 14], "dist": "normal", "seed": 216 } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1024, 1, 1], "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * 4" }] } | |
| }, | |
| { | |
| "name": "nchw_1x512x28x28_portable_gate_window", | |
| "provenance": { "notes": "Spatial 784, the upper half of the same excluded window." }, | |
| "preset": "smoke", | |
| "vars": { "batch": 1, "channels": 512, "spatial": 784 }, | |
| "inputs": { "x": { "dtype": "float32", "shape": [1, 512, 28, 28], "dist": "normal", "seed": 217 } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 512, 1, 1], "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * 4" }] } | |
| }, | |
| { | |
| "name": "nchw_32x128x16x16_manyplanes_spatial256", | |
| "preset": "smoke", | |
| "provenance": { | |
| "notes": "Measures global average pooling over 4096 planes (batch 32 x 128 channels) of a 256-element 16x16 spatial size." | |
| }, | |
| "vars": { "batch": 32, "channels": 128, "spatial": 256 }, | |
| "inputs": { "x": { "dtype": "float32", "shape": [32, 128, 16, 16], "dist": "normal", "seed": 218 } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [32, 128, 1, 1], "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * 4" }] } | |
| }, | |
| { | |
| "name": "nchw_32x128x28x28_manyplanes_spatial784", | |
| "preset": "smoke", | |
| "provenance": { | |
| "notes": "Separates the two candidate discriminators: 4096 planes (where the serial kernel is saturated) at 784 elements per plane (where the workgroup tree amortizes)." | |
| }, | |
| "vars": { "batch": 32, "channels": 128, "spatial": 784 }, | |
| "inputs": { "x": { "dtype": "float32", "shape": [32, 128, 28, 28], "dist": "normal", "seed": 219 } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [32, 128, 1, 1], "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * 4" }] } | |
| }, | |
| { | |
| "name": "nchw_32x64x16x16_planes2048_spatial256", | |
| "preset": "smoke", | |
| "provenance": { | |
| "notes": "Halves the plane count of the 4096-plane spatial-256 case: brackets where the serial kernel stops being saturated." | |
| }, | |
| "vars": { "batch": 32, "channels": 64, "spatial": 256 }, | |
| "inputs": { "x": { "dtype": "float32", "shape": [32, 64, 16, 16], "dist": "normal", "seed": 220 } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [32, 64, 1, 1], "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * 4" }] } | |
| }, | |
| { | |
| "name": "nchw_32x128x16x32_manyplanes_spatial512", | |
| "preset": "smoke", | |
| "provenance": { | |
| "notes": "Doubles the spatial extent of the 4096-plane spatial-256 case: brackets where the workgroup tree starts amortizing." | |
| }, | |
| "vars": { "batch": 32, "channels": 128, "spatial": 512 }, | |
| "inputs": { "x": { "dtype": "float32", "shape": [32, 128, 16, 32], "dist": "normal", "seed": 221 } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [32, 128, 1, 1], "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * 4" }] } | |
| }, | |
| { | |
| "name": "nchw_1x65536x9x9_planes65536_spatial81", | |
| "preset": "smoke", | |
| "provenance": { "notes": "Measures global average pooling over 65,536 channels of a 9x9 (81-element) plane." }, | |
| "vars": { "batch": 1, "channels": 65536, "spatial": 81 }, | |
| "inputs": { "x": { "dtype": "float32", "shape": [1, 65536, 9, 9], "dist": "normal", "seed": 222 } }, | |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 65536, 1, 1], "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.spatial * 4" }] } | |
| } | |
| ], | |
| "tunableSpace": { "WORKGROUP_SIZE": [64, 128, 256] } | |
| } | |