Xenova's picture
Xenova HF Staff
sync 6fdf6301e2bb
fe742ec verified
Raw History Blame
14.1 kB
{
"tunableSpace": { "WORKGROUP_SIZE": [64, 128, 256], "MIDDLE_AXIS_TILE_COLS": [16, 32, 64] },
"cases": [
{
"name": "reduce-mean-axis0-1024x512",
"preset": "smoke",
"vars": { "dtype": "float32", "rows": 1024, "cols": 512 },
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": { "x": { "shape": [1024, 512], "dtype": "float32", "dist": "normal", "seed": 881, "scale": 1 } },
"outputs": { "y": { "shape": [512], "dtype": "float32" } },
"bench": {
"primary": true,
"metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * dtypeBytes(args.dtype)" }]
}
},
{
"name": "reduce-mean-axis1-1024x4096",
"preset": "smoke",
"vars": { "dtype": "float32", "rows": 1024, "cols": 4096 },
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": { "x": { "shape": [1024, 4096], "dtype": "float32", "dist": "normal", "seed": 880, "scale": 1 } },
"outputs": { "y": { "shape": [1024], "dtype": "float32" } },
"bench": {
"primary": true,
"metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * dtypeBytes(args.dtype)" }]
}
},
{
"name": "reducemean-lastaxis-f32-4096x4096",
"preset": "smoke",
"vars": { "rows": 4096, "cols": 4096 },
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": { "x": { "shape": [4096, 4096], "dtype": "float32", "dist": "normal", "seed": 117, "scale": 0.2 } },
"outputs": { "y": { "shape": [4096], "dtype": "float32" } },
"bench": { "primary": true, "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * 4" }] }
},
{
"name": "reducemean-rank3-lastaxis-f32-64x64x4096",
"preset": "smoke",
"vars": { "rows": 4096, "cols": 4096 },
"attrs": { "axes": [2], "keepdims": 0 },
"inputs": { "x": { "shape": [64, 64, 4096], "dtype": "float32", "dist": "normal", "seed": 218, "scale": 0.2 } },
"outputs": { "y": { "shape": [64, 64], "dtype": "float32" } },
"bench": { "primary": true, "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * 4" }] }
},
{
"name": "reducemean-rank3-lastaxis-smallcols-f32-1024x32x16",
"preset": "smoke",
"vars": { "rows": 32768, "cols": 16 },
"attrs": { "axes": [2], "keepdims": 0 },
"inputs": { "x": { "shape": [1024, 32, 16], "dtype": "float32", "dist": "normal", "seed": 412, "scale": 0.2 } },
"outputs": { "y": { "shape": [1024, 32], "dtype": "float32" } },
"bench": { "primary": true, "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * 4" }] }
},
{
"name": "axis0-large-65536x512",
"preset": "smoke",
"vars": { "rows": 65536, "cols": 512 },
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": { "x": { "shape": [65536, 512], "dtype": "float32", "dist": "normal", "scale": 0.2, "seed": 311 } },
"outputs": { "y": { "shape": [512], "dtype": "float32" } },
"bench": { "primary": true, "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * 4" }] }
},
{
"name": "axis0-tall-16384x1024",
"preset": "smoke",
"vars": { "rows": 16384, "cols": 1024 },
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": { "x": { "shape": [16384, 1024], "dtype": "float32", "dist": "normal", "scale": 0.2, "seed": 312 } },
"outputs": { "y": { "shape": [1024], "dtype": "float32" } },
"bench": { "primary": true, "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * 4" }] }
},
{
"name": "reducemean-rank4-axis1-serial-32x256x28x28",
"preset": "smoke",
"vars": { "dtype": "float32" },
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": { "shape": [32, 256, 28, 28], "dtype": "float32", "dist": "normal", "scale": 0.2, "seed": 5511 }
},
"outputs": { "y": { "shape": [32, 28, 28], "dtype": "float32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "32 * 256 * 28 * 28 * dtypeBytes(args.dtype)" }] }
},
{
"name": "reducemean-rank3-axis1-serial-8x1024x768",
"preset": "smoke",
"vars": { "dtype": "float32" },
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": { "x": { "shape": [8, 1024, 768], "dtype": "float32", "dist": "normal", "scale": 0.2, "seed": 5512 } },
"outputs": { "y": { "shape": [8, 768], "dtype": "float32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "8 * 1024 * 768 * dtypeBytes(args.dtype)" }] }
},
{
"name": "reducemean-lastaxis-scalar-subgroup-cols-unaligned-4096x4095",
"preset": "smoke",
"vars": { "dtype": "float32", "rows": 4096, "cols": 4095 },
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": { "x": { "shape": [4096, 4095], "dtype": "float32", "dist": "normal", "scale": 0.2, "seed": 5513 } },
"outputs": { "y": { "shape": [4096], "dtype": "float32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * dtypeBytes(args.dtype)" }] }
},
{
"name": "reducemean-fullreduce-serial-numel-not-mul4-r3",
"preset": "stress",
"attrs": { "keepdims": 0 },
"inputs": { "x": { "shape": [1001, 1001, 1], "dtype": "float32", "dist": "normal", "seed": 601, "scale": 1 } },
"outputs": { "y": { "shape": [], "dtype": "float32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "1001 * 1001 * 1 * 4" }] }
},
{
"name": "reducemean-int32-lastaxis-serial-4096x1024",
"preset": "stress",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": { "shape": [4096, 1024], "dtype": "int32", "dist": "randint", "seed": 602, "min": -1000, "max": 1000 }
},
"outputs": { "y": { "shape": [4096], "dtype": "int32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "4096 * 1024 * 4" }] }
},
{
"name": "reducemean-axis0-f32-131072x15-narrow-splitk-boundary",
"preset": "stress",
"vars": { "rows": 131072, "cols": 15 },
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": { "x": { "shape": [131072, 15], "dtype": "float32", "dist": "normal", "seed": 603, "scale": 0.2 } },
"outputs": { "y": { "shape": [15], "dtype": "float32", "dist": "empty" } },
"bench": { "primary": true, "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * 4" }] }
},
{
"name": "reducemean-spatial-axes23-f32-2x64x256x256-globalpool-pattern",
"preset": "stress",
"provenance": {
"source": "synthetic",
"notes": "Rank-4 contiguous-suffix reduction that verifies the vec4 subgroup reducer and portable workgroup-tree fallback."
},
"vars": { "batch": 2, "channels": 64, "height": 256, "width": 256 },
"attrs": { "axes": [2, 3], "keepdims": 1 },
"inputs": { "x": { "shape": [2, 64, 256, 256], "dtype": "float32", "dist": "normal", "seed": 909, "scale": 0.2 } },
"outputs": { "y": { "shape": [2, 64, 1, 1], "dtype": "float32", "dist": "empty" } },
"bench": {
"metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.height * args.width * 4" }]
}
},
{
"name": "reducemean-rank4-axis1-largeaxis-2x131072x1x8",
"preset": "smoke",
"vars": { "numel": 2097152 },
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": { "x": { "shape": [2, 131072, 1, 8], "dtype": "float32", "dist": "normal", "seed": 120, "scale": 0.2 } },
"outputs": { "y": { "shape": [2, 1, 8], "dtype": "float32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "args.numel * 4" }] }
},
{
"name": "reducemean-rank4-axes023-f32-8x256x56x56-noncontiguous-pathology",
"preset": "stress",
"provenance": {
"notes": "Rank-4 reduction over axes {0,2,3} (per-channel statistics over batch and space with the channel axis second): the kept axis sits in the middle, so the reduced elements are not a contiguous suffix and the multi-axis rank-4 kernel launches one serial lane per output, 256 lanes each walking 25088 strided inputs. Its control reduces the same values with the channel axis first."
},
"vars": { "dtype": "float32", "batch": 8, "channels": 256, "height": 56, "width": 56 },
"attrs": { "axes": [0, 2, 3], "keepdims": 0 },
"inputs": { "x": { "shape": [8, 256, 56, 56], "dtype": "float32", "dist": "normal", "seed": 620, "scale": 0.2 } },
"outputs": { "y": { "shape": [256], "dtype": "float32", "dist": "empty" } },
"bench": {
"metrics": [
{
"type": "bandwidth",
"value": "args.batch * args.channels * args.height * args.width * dtypeBytes(args.dtype)"
}
]
}
},
{
"name": "reducemean-rank4-axes123-f32-256x8x56x56-contiguous-suffix-control",
"preset": "stress",
"provenance": {
"notes": "Contiguous-suffix control for the axes {0,2,3} reduction: the same 256 reductions of 25088 elements with the kept axis first, which the cooperative suffix reduction covers with one workgroup per output."
},
"vars": { "dtype": "float32", "batch": 256, "channels": 8, "height": 56, "width": 56 },
"attrs": { "axes": [1, 2, 3], "keepdims": 0 },
"inputs": { "x": { "shape": [256, 8, 56, 56], "dtype": "float32", "dist": "normal", "seed": 621, "scale": 0.2 } },
"outputs": { "y": { "shape": [256], "dtype": "float32", "dist": "empty" } },
"bench": {
"metrics": [
{
"type": "bandwidth",
"value": "args.batch * args.channels * args.height * args.width * dtypeBytes(args.dtype)"
}
]
}
},
{
"name": "bench-strided_geometry_float32_rank3_odd_axis_odd_inner",
"attrs": { "axes": [-2], "keepdims": 1 },
"inputs": { "x": { "dtype": "float32", "shape": [3, 127, 259], "dist": "normal" } },
"outputs": { "y": { "dtype": "float32", "shape": [3, 1, 259] } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "397824" }] }
},
{
"name": "bench-strided_geometry_float32_rank3_even_inner",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": { "x": { "dtype": "float32", "shape": [7, 129, 260], "dist": "normal" } },
"outputs": { "y": { "dtype": "float32", "shape": [7, 260] } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "946400" }] }
},
{
"name": "bench-strided_geometry_float32_rank5_middle",
"attrs": { "axes": [3], "keepdims": 1 },
"inputs": { "x": { "dtype": "float32", "shape": [2, 3, 5, 17, 7], "dist": "normal" } },
"outputs": { "y": { "dtype": "float32", "shape": [2, 3, 5, 1, 7] } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "15120" }] }
},
{
"name": "bench-strided_geometry_float32_rank3_axis0",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": { "x": { "dtype": "float32", "shape": [17, 5, 13], "dist": "normal" } },
"outputs": { "y": { "dtype": "float32", "shape": [5, 13] } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "4680" }] }
},
{
"name": "bench-strided_geometry_float32_rank4_middle",
"attrs": { "axes": [2], "keepdims": 0 },
"inputs": { "x": { "dtype": "float32", "shape": [3, 5, 17, 4], "dist": "normal" } },
"outputs": { "y": { "dtype": "float32", "shape": [3, 5, 4] } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "4320" }] }
},
{
"name": "bench-strided_geometry_float32_rank4_channel",
"attrs": { "axes": [1], "keepdims": 1 },
"inputs": { "x": { "dtype": "float32", "shape": [2, 63, 7, 8], "dist": "normal" } },
"outputs": { "y": { "dtype": "float32", "shape": [2, 1, 7, 8] } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "28672" }] }
},
{
"name": "bench-strided_geometry_float16_rank3_odd_axis_odd_inner",
"attrs": { "axes": [-2], "keepdims": 1 },
"inputs": { "x": { "dtype": "float16", "shape": [3, 127, 259], "dist": "normal" } },
"outputs": { "y": { "dtype": "float16", "shape": [3, 1, 259] } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "198912" }] }
},
{
"name": "bench-strided_geometry_float16_rank3_even_inner",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": { "x": { "dtype": "float16", "shape": [7, 129, 260], "dist": "normal" } },
"outputs": { "y": { "dtype": "float16", "shape": [7, 260] } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "473200" }] }
},
{
"name": "bench-strided_geometry_float16_rank5_middle",
"attrs": { "axes": [3], "keepdims": 1 },
"inputs": { "x": { "dtype": "float16", "shape": [2, 3, 5, 17, 7], "dist": "normal" } },
"outputs": { "y": { "dtype": "float16", "shape": [2, 3, 5, 1, 7] } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "7560" }] }
},
{
"name": "bench-strided_geometry_float16_rank3_axis0",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": { "x": { "dtype": "float16", "shape": [17, 5, 13], "dist": "normal" } },
"outputs": { "y": { "dtype": "float16", "shape": [5, 13] } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "2340" }] }
},
{
"name": "bench-strided_geometry_float16_rank4_middle",
"attrs": { "axes": [2], "keepdims": 0 },
"inputs": { "x": { "dtype": "float16", "shape": [3, 5, 17, 4], "dist": "normal" } },
"outputs": { "y": { "dtype": "float16", "shape": [3, 5, 4] } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "2160" }] }
},
{
"name": "bench-strided_geometry_float16_rank4_channel",
"attrs": { "axes": [1], "keepdims": 1 },
"inputs": { "x": { "dtype": "float16", "shape": [2, 63, 7, 8], "dist": "normal" } },
"outputs": { "y": { "dtype": "float16", "shape": [2, 1, 7, 8] } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "14336" }] }
}
]
}