ai.onnx.ArgMax / build /webgpu /bench.json
Xenova's picture
Xenova HF Staff
sync 6fdf6301e2bb
a622bea verified
Raw History Blame
7.52 kB
{
"cases": [
{
"name": "argmax-axis0-f32-1024x512",
"preset": "smoke",
"vars": { "dtype": "float32", "rows": 1024, "cols": 512 },
"attrs": { "axis": 0, "keepdims": 0 },
"inputs": { "x": { "shape": [1024, 512], "dtype": "float32", "dist": "normal", "seed": 971, "scale": 1 } },
"outputs": { "y": { "shape": [512], "dtype": "uint32" } },
"bench": {
"primary": true,
"metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * dtypeBytes(args.dtype)" }]
}
},
{
"name": "logits",
"attrs": { "axis": 1, "keepdims": 0 },
"inputs": { "x": { "dtype": "float32", "shape": [1, 32000] } },
"outputs": { "y": { "dtype": "uint32", "shape": [1] } }
},
{
"name": "argmax-axis0-large-65536x512",
"preset": "smoke",
"vars": { "dtype": "float32", "rows": 65536, "cols": 512 },
"attrs": { "axis": 0, "keepdims": 0 },
"inputs": { "x": { "shape": [65536, 512], "dtype": "float32", "dist": "normal", "seed": 211, "scale": 0.2 } },
"outputs": { "y": { "shape": [512], "dtype": "uint32" } },
"bench": { "primary": true, "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * 4" }] }
},
{
"name": "argmax-lastaxis-f32-4096x4096",
"preset": "smoke",
"vars": { "rows": 4096, "cols": 4096 },
"attrs": { "axis": 1, "keepdims": 0 },
"inputs": { "x": { "shape": [4096, 4096], "dtype": "float32", "dist": "normal", "seed": 117, "scale": 0.2 } },
"outputs": { "y": { "shape": [4096], "dtype": "uint32" } },
"bench": { "primary": true, "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * 4" }] }
},
{
"name": "argmax-lastaxis-f32-4096x50257",
"preset": "stress",
"provenance": { "notes": "Stress-only capacity case: declared tensors occupy 785 MiB of GPU storage." },
"vars": { "dtype": "float32", "rows": 4096, "cols": 50257 },
"attrs": { "axis": 1, "keepdims": 0 },
"inputs": { "x": { "shape": [4096, 50257], "dtype": "float32", "dist": "normal", "seed": 503, "scale": 0.2 } },
"outputs": { "y": { "shape": [4096], "dtype": "uint32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * dtypeBytes(args.dtype)" }] }
},
{
"name": "argmax-logits-f32-1x131072",
"preset": "smoke",
"vars": { "dtype": "float32", "rows": 1, "cols": 131072 },
"attrs": { "axis": 1, "keepdims": 0 },
"inputs": { "x": { "shape": [1, 131072], "dtype": "float32", "dist": "normal", "seed": 733, "scale": 1 } },
"outputs": { "y": { "shape": [1], "dtype": "uint32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * dtypeBytes(args.dtype)" }] }
},
{
"name": "argmax-vocab-unaligned-f32-1x50257",
"preset": "smoke",
"vars": { "dtype": "float32", "rows": 1, "cols": 50257 },
"attrs": { "axis": 1, "keepdims": 0 },
"inputs": { "x": { "shape": [1, 50257], "dtype": "float32", "dist": "normal", "seed": 739, "scale": 1 } },
"outputs": { "y": { "shape": [1], "dtype": "uint32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * dtypeBytes(args.dtype)" }] }
},
{
"name": "argmax-lastaxis-f16-4096x4096",
"preset": "smoke",
"vars": { "dtype": "float16", "rows": 4096, "cols": 4096 },
"attrs": { "axis": 1, "keepdims": 0 },
"inputs": { "x": { "shape": [4096, 4096], "dtype": "float16", "dist": "normal", "seed": 617, "scale": 0.2 } },
"outputs": { "y": { "shape": [4096], "dtype": "uint32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * dtypeBytes(args.dtype)" }] }
},
{
"name": "argmax-axis0-int32-65536x512",
"preset": "smoke",
"vars": { "dtype": "int32", "rows": 65536, "cols": 512 },
"attrs": { "axis": 0, "keepdims": 0 },
"inputs": {
"x": { "shape": [65536, 512], "dtype": "int32", "dist": "uniform", "seed": 419, "min": -1000, "max": 1001 }
},
"outputs": { "y": { "shape": [512], "dtype": "uint32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * dtypeBytes(args.dtype)" }] }
},
{
"name": "argmax-lastaxis-int8-2048x4096-serial",
"preset": "stress",
"vars": { "dtype": "int8", "rows": 2048, "cols": 4096 },
"attrs": { "axis": 1, "keepdims": 0 },
"inputs": {
"x": { "shape": [2048, 4096], "dtype": "int8", "dist": "uniform", "seed": 831, "min": -50, "max": 51 }
},
"outputs": { "y": { "shape": [2048], "dtype": "uint32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * dtypeBytes(args.dtype)" }] }
},
{
"name": "argmax-axis0-narrow-starvation-131072x8",
"preset": "smoke",
"vars": { "dtype": "float32", "rows": 131072, "cols": 8 },
"attrs": { "axis": 0, "keepdims": 0 },
"inputs": { "x": { "shape": [131072, 8], "dtype": "float32", "dist": "normal", "seed": 823, "scale": 1 } },
"outputs": { "y": { "shape": [8], "dtype": "uint32" } },
"bench": {
"primary": true,
"metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * dtypeBytes(args.dtype)" }]
}
},
{
"name": "argmax-temporal-rank3-axis1-starvation-1x65536x8",
"preset": "stress",
"vars": { "dtype": "float32", "frames": 65536, "classes": 8 },
"attrs": { "axis": 1, "keepdims": 0 },
"inputs": { "x": { "shape": [1, 65536, 8], "dtype": "float32", "dist": "normal", "seed": 829, "scale": 1 } },
"outputs": { "y": { "shape": [1, 8], "dtype": "uint32" } },
"bench": {
"primary": true,
"metrics": [{ "type": "bandwidth", "value": "args.frames * args.classes * dtypeBytes(args.dtype)" }]
}
},
{
"name": "argmax-lastaxis-f32-64x50257-vocab-odd-pathology",
"preset": "stress",
"provenance": {
"notes": "GPT-2 vocabulary width with keepdims left at its default: 50257 % 4 != 0 rejects last_axis_vec4, and 64 outputs exceed the row-split ceiling, so the rows reduce on the scalar last_axis route. Control: argmax-lastaxis-f32-64x50260-vocab-control."
},
"vars": { "dtype": "float32", "rows": 64, "cols": 50257 },
"attrs": { "axis": 1 },
"inputs": { "x": { "shape": [64, 50257], "dtype": "float32", "dist": "normal", "seed": 741, "scale": 1 } },
"outputs": { "y": { "shape": [64, 1], "dtype": "uint32", "dist": "empty" } },
"bench": {
"metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * dtypeBytes(args.dtype) + args.rows * 4" }]
}
},
{
"name": "argmax-lastaxis-f32-64x50260-vocab-control",
"preset": "stress",
"provenance": {
"notes": "The next multiple-of-four vocabulary width above the paired 50,257-column case, with nearly the same input bytes."
},
"vars": { "dtype": "float32", "rows": 64, "cols": 50260 },
"attrs": { "axis": 1 },
"inputs": { "x": { "shape": [64, 50260], "dtype": "float32", "dist": "normal", "seed": 742, "scale": 1 } },
"outputs": { "y": { "shape": [64, 1], "dtype": "uint32", "dist": "empty" } },
"bench": {
"metrics": [{ "type": "bandwidth", "value": "args.rows * args.cols * dtypeBytes(args.dtype) + args.rows * 4" }]
}
}
],
"tunableSpace": { "WORKGROUP_SIZE": [64, 128, 256] }
}