Download build/webgpu/bench.json from webgpu-kernels/ai.onnx.QLinearMatMul: direct link, hf CLI and curl.
- Browser
- Download file 36.6 kB
-
https://huggingface.co/kernels/webgpu-kernels/ai.onnx.QLinearMatMul/resolve/v1/build/webgpu/bench.json
- Command line
-
hf download hf://webgpu-kernels/ai.onnx.QLinearMatMul@v1/build/webgpu/bench.json
-
curl -L -o bench.json https://huggingface.co/kernels/webgpu-kernels/ai.onnx.QLinearMatMul/resolve/v1/build/webgpu/bench.json
36.6 kB
| { | |
| "cases": [ | |
| { | |
| "name": "u8_128x128", | |
| "inputs": { | |
| "a": { "dtype": "uint8", "shape": [128, 128], "data": { "kind": "constant", "value": 127 } }, | |
| "a_scale": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.02] } }, | |
| "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "b": { "dtype": "uint8", "shape": [128, 128], "data": { "kind": "constant", "value": 129 } }, | |
| "b_scale": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.03] } }, | |
| "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "y_scale": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.04] } }, | |
| "y_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } } | |
| }, | |
| "outputs": { "y": { "dtype": "uint8", "shape": [128, 128] } } | |
| }, | |
| { | |
| "name": "u8u8_512x768x768_scalar", | |
| "inputs": { | |
| "a": { "dtype": "uint8", "shape": [512, 768], "data": { "kind": "constant", "value": 127 } }, | |
| "b": { "dtype": "uint8", "shape": [768, 768], "data": { "kind": "constant", "value": 129 } }, | |
| "a_scale": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.02] } }, | |
| "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "b_scale": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.03] } }, | |
| "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "y_scale": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [4.0] } }, | |
| "y_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } } | |
| }, | |
| "outputs": { "y": { "dtype": "uint8", "shape": [512, 768] } } | |
| }, | |
| { | |
| "name": "u8s8_64x768x3072_per_column", | |
| "inputs": { | |
| "a": { "dtype": "uint8", "shape": [64, 768], "data": { "kind": "constant", "value": 127 } }, | |
| "a_scale": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.02] } }, | |
| "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "b": { "dtype": "int8", "shape": [768, 3072], "data": { "kind": "constant", "value": -3 } }, | |
| "b_scale": { "dtype": "float32", "shape": [3072], "data": { "kind": "constant", "value": 0.03 } }, | |
| "b_zero_point": { "dtype": "int8", "shape": [3072], "data": { "kind": "constant", "value": 2 } }, | |
| "y_scale": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [4.0] } }, | |
| "y_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } } | |
| }, | |
| "outputs": { "y": { "dtype": "uint8", "shape": [64, 3072] } } | |
| }, | |
| { | |
| "name": "u8s8_512x768x3072_per_column_scale_scalar_zp", | |
| "preset": "model", | |
| "inputs": { | |
| "a": { "dtype": "uint8", "shape": [512, 768], "dist": "randint", "seed": 2401, "min": 0, "max": 255 }, | |
| "a_scale": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.02] } }, | |
| "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "b": { "dtype": "int8", "shape": [768, 3072], "dist": "randint", "seed": 2402, "min": -127, "max": 127 }, | |
| "b_scale": { "dtype": "float32", "shape": [3072], "dist": "normal", "seed": 2403, "scale": 0.01 }, | |
| "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } }, | |
| "y_scale": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [4.0] } }, | |
| "y_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } } | |
| }, | |
| "outputs": { "y": { "dtype": "uint8", "shape": [512, 3072] } } | |
| }, | |
| { | |
| "name": "s8s8_8x128x512x512_batched3", | |
| "inputs": { | |
| "a": { "dtype": "int8", "shape": [8, 128, 512], "data": { "kind": "constant", "value": -5 } }, | |
| "b": { "dtype": "int8", "shape": [8, 512, 512], "data": { "kind": "constant", "value": 7 } }, | |
| "a_scale": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.02] } }, | |
| "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } }, | |
| "b_scale": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.03] } }, | |
| "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } }, | |
| "y_scale": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [4.0] } }, | |
| "y_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } } | |
| }, | |
| "outputs": { "y": { "dtype": "int8", "shape": [8, 128, 512] } } | |
| }, | |
| { | |
| "name": "u8s8-m1-4096x4096-decode-gemv", | |
| "preset": "smoke", | |
| "vars": { "M": 1, "K": 4096, "N": 4096 }, | |
| "inputs": { | |
| "a": { "shape": [1, 4096], "dtype": "uint8", "dist": "constant", "value": 127 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "b": { "shape": [4096, 4096], "dtype": "int8", "dist": "constant", "value": 3 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": 0 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [1, 4096], "dtype": "uint8" } }, | |
| "bench": { | |
| "primary": true, | |
| "metrics": [ | |
| { "type": "gflops", "value": "2 * dim(shapes.y, 0) * dim(shapes.y, 1) * dim(shapes.a, 1)" }, | |
| { "type": "bandwidth", "value": "4 * (numel(shapes.a) + numel(shapes.b) + numel(shapes.y))" } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "u8s8-m512-4096x4096-prefill", | |
| "preset": "smoke", | |
| "vars": { "M": 512, "K": 4096, "N": 4096 }, | |
| "inputs": { | |
| "a": { "shape": [512, 4096], "dtype": "uint8", "dist": "constant", "value": 127 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "b": { "shape": [4096, 4096], "dtype": "int8", "dist": "constant", "value": 3 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": 0 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [512, 4096], "dtype": "uint8" } }, | |
| "tunableSpace": { "DP4A_LARGE_TILE_N": [64, 128, 256] }, | |
| "bench": { | |
| "metrics": [{ "type": "gflops", "value": "2 * dim(shapes.y, 0) * dim(shapes.y, 1) * dim(shapes.a, 1)" }] | |
| } | |
| }, | |
| { | |
| "name": "u8s8-m256-1024x1024-prefill-floor", | |
| "preset": "smoke", | |
| "inputs": { | |
| "a": { "shape": [256, 1024], "dtype": "uint8", "dist": "constant", "value": 127 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "b": { "shape": [1024, 1024], "dtype": "int8", "dist": "constant", "value": 3 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": 0 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [256, 1024], "dtype": "uint8" } }, | |
| "bench": { | |
| "metrics": [{ "type": "gflops", "value": "2 * dim(shapes.y, 0) * dim(shapes.y, 1) * dim(shapes.a, 1)" }] | |
| } | |
| }, | |
| { | |
| "name": "u8u8-k192-dp4a", | |
| "preset": "smoke", | |
| "vars": { "M": 64, "K": 192, "N": 2048 }, | |
| "inputs": { | |
| "a": { "shape": [64, 192], "dtype": "uint8", "dist": "constant", "value": 127 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "b": { "shape": [192, 2048], "dtype": "uint8", "dist": "constant", "value": 129 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [64, 2048], "dtype": "uint8" } }, | |
| "bench": { | |
| "metrics": [{ "type": "gflops", "value": "2 * dim(shapes.y, 0) * dim(shapes.y, 1) * dim(shapes.a, 1)" }] | |
| } | |
| }, | |
| { | |
| "name": "u8u8-k64-small-inner-large-output", | |
| "preset": "smoke", | |
| "vars": { "M": 64, "K": 64, "N": 2048 }, | |
| "inputs": { | |
| "a": { "shape": [64, 64], "dtype": "uint8", "dist": "constant", "value": 127 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "b": { "shape": [64, 2048], "dtype": "uint8", "dist": "constant", "value": 129 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [64, 2048], "dtype": "uint8" } }, | |
| "bench": { | |
| "metrics": [{ "type": "gflops", "value": "2 * dim(shapes.y, 0) * dim(shapes.y, 1) * dim(shapes.a, 1)" }] | |
| } | |
| }, | |
| { | |
| "name": "u8u8-k256-at-dp4a-floor", | |
| "preset": "smoke", | |
| "vars": { "M": 64, "K": 256, "N": 2048 }, | |
| "inputs": { | |
| "a": { "shape": [64, 256], "dtype": "uint8", "dist": "constant", "value": 127 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "b": { "shape": [256, 2048], "dtype": "uint8", "dist": "constant", "value": 129 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [64, 2048], "dtype": "uint8" } }, | |
| "bench": { | |
| "metrics": [{ "type": "gflops", "value": "2 * dim(shapes.y, 0) * dim(shapes.y, 1) * dim(shapes.a, 1)" }] | |
| } | |
| }, | |
| { | |
| "name": "s8s8-rank4-2x4x256x512-scalar-fallback", | |
| "preset": "smoke", | |
| "vars": { "B0": 2, "B1": 4, "M": 256, "K": 512, "N": 512 }, | |
| "inputs": { | |
| "a": { "shape": [2, 4, 256, 512], "dtype": "int8", "dist": "constant", "value": -5 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": 0 }, | |
| "b": { "shape": [2, 4, 512, 512], "dtype": "int8", "dist": "constant", "value": 7 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": 0 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": 0 } | |
| }, | |
| "outputs": { "y": { "shape": [2, 4, 256, 512], "dtype": "int8" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "gflops", | |
| "value": "2 * dim(shapes.y, 0) * dim(shapes.y, 1) * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.a, 3)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "u8u8-k1023-notdiv4-rank2-scalar-fallback-stress", | |
| "preset": "stress", | |
| "vars": { "M": 512, "K": 1023, "N": 512 }, | |
| "inputs": { | |
| "a": { "shape": [512, 1023], "dtype": "uint8", "dist": "randint", "seed": 7411, "min": 0, "max": 255 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "b": { "shape": [1023, 512], "dtype": "uint8", "dist": "randint", "seed": 7412, "min": 0, "max": 255 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [512, 512], "dtype": "uint8", "dist": "empty" } }, | |
| "bench": { | |
| "metrics": [{ "type": "gflops", "value": "2 * dim(shapes.y, 0) * dim(shapes.y, 1) * dim(shapes.a, 1)" }] | |
| } | |
| }, | |
| { | |
| "name": "s8s8-to-u8-rank4-ydtype-mismatch-scalar-fallback-stress", | |
| "preset": "stress", | |
| "vars": { "B0": 2, "B1": 4, "M": 128, "K": 512, "N": 512 }, | |
| "inputs": { | |
| "a": { "shape": [2, 4, 128, 512], "dtype": "int8", "dist": "randint", "seed": 7421, "min": -127, "max": 127 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": 0 }, | |
| "b": { "shape": [2, 4, 512, 512], "dtype": "int8", "dist": "randint", "seed": 7422, "min": -127, "max": 127 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": 0 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 40 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [2, 4, 128, 512], "dtype": "uint8", "dist": "empty" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "gflops", | |
| "value": "2 * dim(shapes.y, 0) * dim(shapes.y, 1) * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.a, 3)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "adapter-percolumn-aligned-k1024-m256n1024", | |
| "preset": "model", | |
| "vars": { "M": 256, "K": 1024, "N": 1024 }, | |
| "inputs": { | |
| "a": { "shape": [256, 1024], "dtype": "uint8", "dist": "randint", "seed": 7501, "min": 0, "max": 255 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 121 }, | |
| "b": { "shape": [1024, 1024], "dtype": "int8", "dist": "randint", "seed": 7502, "min": -127, "max": 127 }, | |
| "b_scale": { "shape": [1024], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": -4 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 8 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [256, 1024], "dtype": "uint8", "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * args.M * args.K * args.N" }] } | |
| }, | |
| { | |
| "name": "adapter-percolumn-tail-k1025-m256n1024-pathology", | |
| "preset": "model", | |
| "vars": { "M": 256, "K": 1025, "N": 1024 }, | |
| "inputs": { | |
| "a": { "shape": [256, 1025], "dtype": "uint8", "dist": "randint", "seed": 7503, "min": 0, "max": 255 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 121 }, | |
| "b": { "shape": [1025, 1024], "dtype": "int8", "dist": "randint", "seed": 7504, "min": -127, "max": 127 }, | |
| "b_scale": { "shape": [1024], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": -4 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 8 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [256, 1024], "dtype": "uint8", "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * args.M * args.K * args.N" }] } | |
| }, | |
| { | |
| "name": "u8s8-k63-dp4a-floor-m512n4096", | |
| "preset": "stress", | |
| "provenance": { | |
| "source": "synthetic", | |
| "notes": "Measures QLinearMatMul over a 512x4096 uint8 by int8 output with an unaligned K=63 reduction length." | |
| }, | |
| "vars": { "M": 512, "K": 63, "N": 4096 }, | |
| "inputs": { | |
| "a": { "shape": [512, 63], "dtype": "uint8", "dist": "randint", "seed": 9151, "min": 0, "max": 255 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "b": { "shape": [63, 4096], "dtype": "int8", "dist": "randint", "seed": 9152, "min": -127, "max": 127 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": -3 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 8 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [512, 4096], "dtype": "uint8", "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * args.M * args.K * args.N" }] } | |
| }, | |
| { | |
| "name": "rank3-by-rank2-shared-weight-u8s8-b8-m128-k1024-n768", | |
| "preset": "model", | |
| "provenance": { | |
| "source": "synthetic", | |
| "notes": "Common quantized batched activations times shared rank-2 weights exercise the scalar route; the paired rank-3-weight case isolates the missing DP4A rank3-by-rank2 route." | |
| }, | |
| "vars": { "batch": 8, "M": 128, "K": 1024, "N": 768 }, | |
| "inputs": { | |
| "a": { "shape": [8, 128, 1024], "dtype": "uint8", "dist": "randint", "seed": 9211, "min": 0, "max": 255 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 121 }, | |
| "b": { "shape": [1024, 768], "dtype": "int8", "dist": "randint", "seed": 9212, "min": -127, "max": 127 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": -4 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 16 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [8, 128, 768], "dtype": "uint8", "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * args.batch * args.M * args.K * args.N" }] } | |
| }, | |
| { | |
| "name": "scalar_scale_column_zp_m256_k1024_n1024", | |
| "preset": "model", | |
| "vars": { "M": 256, "K": 1024, "N": 1024 }, | |
| "inputs": { | |
| "a": { "shape": [256, 1024], "dtype": "uint8", "dist": "randint", "seed": 7501, "min": 0, "max": 255 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 121 }, | |
| "b": { "shape": [1024, 1024], "dtype": "int8", "dist": "randint", "seed": 7502, "min": -127, "max": 127 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1024], "dtype": "int8", "dist": "randint", "seed": 8624, "min": -100, "max": 100 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 8 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [256, 1024], "dtype": "uint8", "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * args.M * args.K * args.N" }] } | |
| }, | |
| { | |
| "name": "scalar_scale_column_zp_m256_k1025_n1024", | |
| "preset": "model", | |
| "vars": { "M": 256, "K": 1025, "N": 1024 }, | |
| "inputs": { | |
| "a": { "shape": [256, 1025], "dtype": "uint8", "dist": "randint", "seed": 7503, "min": 0, "max": 255 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 121 }, | |
| "b": { "shape": [1025, 1024], "dtype": "int8", "dist": "randint", "seed": 7504, "min": -127, "max": 127 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1024], "dtype": "int8", "dist": "randint", "seed": 8625, "min": -100, "max": 100 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 8 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [256, 1024], "dtype": "uint8", "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * args.M * args.K * args.N" }] } | |
| }, | |
| { | |
| "name": "scalar_scale_column_zp_m1_k1024_n1024", | |
| "preset": "model", | |
| "vars": { "M": 1, "K": 1024, "N": 1024 }, | |
| "inputs": { | |
| "a": { "shape": [1, 1024], "dtype": "uint8", "dist": "randint", "seed": 7501, "min": 0, "max": 255 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 121 }, | |
| "b": { "shape": [1024, 1024], "dtype": "int8", "dist": "randint", "seed": 7502, "min": -127, "max": 127 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1024], "dtype": "int8", "dist": "randint", "seed": 8624, "min": -100, "max": 100 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 8 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [1, 1024], "dtype": "uint8", "dist": "empty" } }, | |
| "bench": { | |
| "metrics": [ | |
| { "type": "gflops", "value": "2 * args.M * args.K * args.N" }, | |
| { | |
| "type": "bandwidth", | |
| "value": "4 * (numel(shapes.a) + numel(shapes.b) + numel(shapes.b_zero_point) + numel(shapes.y) + 5)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "scalar_scale_column_zp_m1_k1025_n1024", | |
| "preset": "model", | |
| "vars": { "M": 1, "K": 1025, "N": 1024 }, | |
| "inputs": { | |
| "a": { "shape": [1, 1025], "dtype": "uint8", "dist": "randint", "seed": 7503, "min": 0, "max": 255 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 121 }, | |
| "b": { "shape": [1025, 1024], "dtype": "int8", "dist": "randint", "seed": 7504, "min": -127, "max": 127 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1024], "dtype": "int8", "dist": "randint", "seed": 8625, "min": -100, "max": 100 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 8 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [1, 1024], "dtype": "uint8", "dist": "empty" } }, | |
| "bench": { | |
| "metrics": [ | |
| { "type": "gflops", "value": "2 * args.M * args.K * args.N" }, | |
| { | |
| "type": "bandwidth", | |
| "value": "4 * (numel(shapes.a) + numel(shapes.b) + numel(shapes.b_zero_point) + numel(shapes.y) + 5)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "scalar_scale_column_zp_m64_k1024_n1024", | |
| "preset": "model", | |
| "vars": { "M": 64, "K": 1024, "N": 1024 }, | |
| "inputs": { | |
| "a": { "shape": [64, 1024], "dtype": "uint8", "dist": "randint", "seed": 7501, "min": 0, "max": 255 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 121 }, | |
| "b": { "shape": [1024, 1024], "dtype": "int8", "dist": "randint", "seed": 7502, "min": -127, "max": 127 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1024], "dtype": "int8", "dist": "randint", "seed": 8624, "min": -100, "max": 100 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 8 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [64, 1024], "dtype": "uint8", "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * args.M * args.K * args.N" }] } | |
| }, | |
| { | |
| "name": "scalar_scale_column_zp_m64_k1025_n1024", | |
| "preset": "model", | |
| "vars": { "M": 64, "K": 1025, "N": 1024 }, | |
| "inputs": { | |
| "a": { "shape": [64, 1025], "dtype": "uint8", "dist": "randint", "seed": 7503, "min": 0, "max": 255 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 121 }, | |
| "b": { "shape": [1025, 1024], "dtype": "int8", "dist": "randint", "seed": 7504, "min": -127, "max": 127 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1024], "dtype": "int8", "dist": "randint", "seed": 8625, "min": -100, "max": 100 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 8 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [64, 1024], "dtype": "uint8", "dist": "empty" } }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * args.M * args.K * args.N" }] } | |
| }, | |
| { | |
| "name": "matrix_storage_m32_k128_n8192", | |
| "preset": "stress", | |
| "inputs": { | |
| "a": { "shape": [32, 128], "dtype": "uint8", "dist": "constant", "value": 127 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "b": { "shape": [128, 8192], "dtype": "int8", "dist": "constant", "value": 3 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": 0 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [32, 8192], "dtype": "uint8" } }, | |
| "tunableSpace": { "DP4A_LARGE_TILE_N": [64, 128, 256] }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": 67108864 }] } | |
| }, | |
| { | |
| "name": "matrix_storage_m32_k1024_n8192", | |
| "preset": "stress", | |
| "inputs": { | |
| "a": { "shape": [32, 1024], "dtype": "uint8", "dist": "constant", "value": 127 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "b": { "shape": [1024, 8192], "dtype": "int8", "dist": "constant", "value": 3 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": 0 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [32, 8192], "dtype": "uint8" } }, | |
| "tunableSpace": { "DP4A_LARGE_TILE_N": [64, 128, 256] }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": 536870912 }] } | |
| }, | |
| { | |
| "name": "matrix_storage_m48_k1024_n8192", | |
| "preset": "stress", | |
| "inputs": { | |
| "a": { "shape": [48, 1024], "dtype": "uint8", "dist": "constant", "value": 127 }, | |
| "a_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.02 }, | |
| "a_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 }, | |
| "b": { "shape": [1024, 8192], "dtype": "int8", "dist": "constant", "value": 3 }, | |
| "b_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 0.03 }, | |
| "b_zero_point": { "shape": [1], "dtype": "int8", "dist": "constant", "value": 0 }, | |
| "y_scale": { "shape": [1], "dtype": "float32", "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "shape": [1], "dtype": "uint8", "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "shape": [48, 8192], "dtype": "uint8" } }, | |
| "tunableSpace": { "DP4A_LARGE_TILE_N": [64, 128, 256] }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": 805306368 }] } | |
| }, | |
| { | |
| "name": "exact-precast-padded-m127-k257-n4097-column-zp", | |
| "inputs": { | |
| "a": { "dtype": "uint8", "shape": [127, 257], "dist": "randint", "min": 0, "max": 255, "seed": 1307 }, | |
| "b": { "dtype": "int8", "shape": [257, 4097], "dist": "randint", "min": -128, "max": 127, "seed": 1308 }, | |
| "a_zero_point": { "dtype": "uint8", "shape": [1], "dist": "constant", "value": 127 }, | |
| "b_zero_point": { "dtype": "int8", "shape": [4097], "dist": "randint", "min": -8, "max": 8, "seed": 1309 }, | |
| "a_scale": { "dtype": "float32", "shape": [1], "dist": "constant", "value": 0.03125 }, | |
| "b_scale": { "dtype": "float32", "shape": [4097], "dist": "constant", "value": 0.015625 }, | |
| "y_scale": { "dtype": "float32", "shape": [1], "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "dtype": "uint8", "shape": [1], "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "dtype": "uint8", "shape": [127, 4097] } }, | |
| "vars": { "M": 127, "K": 257, "N": 4097 }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * args.M * args.K * args.N" }] } | |
| }, | |
| { | |
| "name": "exact-precast-padded-m129-k1025-n2049-column-zp", | |
| "inputs": { | |
| "a": { "dtype": "uint8", "shape": [129, 1025], "dist": "randint", "min": 0, "max": 255, "seed": 1307 }, | |
| "b": { "dtype": "int8", "shape": [1025, 2049], "dist": "randint", "min": -128, "max": 127, "seed": 1308 }, | |
| "a_zero_point": { "dtype": "uint8", "shape": [1], "dist": "constant", "value": 127 }, | |
| "b_zero_point": { "dtype": "int8", "shape": [2049], "dist": "randint", "min": -8, "max": 8, "seed": 1309 }, | |
| "a_scale": { "dtype": "float32", "shape": [1], "dist": "constant", "value": 0.03125 }, | |
| "b_scale": { "dtype": "float32", "shape": [2049], "dist": "constant", "value": 0.015625 }, | |
| "y_scale": { "dtype": "float32", "shape": [1], "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "dtype": "uint8", "shape": [1], "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "dtype": "uint8", "shape": [129, 2049] } }, | |
| "vars": { "M": 129, "K": 1025, "N": 2049 }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * args.M * args.K * args.N" }] } | |
| }, | |
| { | |
| "name": "exact-portable-row-reuse-m63-k1025-n8193", | |
| "inputs": { | |
| "a": { "dtype": "uint8", "shape": [63, 1025], "dist": "randint", "min": 0, "max": 255, "seed": 1307 }, | |
| "b": { "dtype": "int8", "shape": [1025, 8193], "dist": "randint", "min": -128, "max": 127, "seed": 1308 }, | |
| "a_zero_point": { "dtype": "uint8", "shape": [1], "dist": "constant", "value": 127 }, | |
| "b_zero_point": { "dtype": "int8", "shape": [8193], "dist": "randint", "min": -8, "max": 8, "seed": 1309 }, | |
| "a_scale": { "dtype": "float32", "shape": [1], "dist": "constant", "value": 0.03125 }, | |
| "b_scale": { "dtype": "float32", "shape": [8193], "dist": "constant", "value": 0.015625 }, | |
| "y_scale": { "dtype": "float32", "shape": [1], "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "dtype": "uint8", "shape": [1], "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "dtype": "uint8", "shape": [63, 8193] } }, | |
| "vars": { "M": 63, "K": 1025, "N": 8193 }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * args.M * args.K * args.N" }] } | |
| }, | |
| { | |
| "name": "exact-portable-row-reuse-m64-k1025-n8193", | |
| "inputs": { | |
| "a": { "dtype": "uint8", "shape": [64, 1025], "dist": "randint", "min": 0, "max": 255, "seed": 1307 }, | |
| "b": { "dtype": "int8", "shape": [1025, 8193], "dist": "randint", "min": -128, "max": 127, "seed": 1308 }, | |
| "a_zero_point": { "dtype": "uint8", "shape": [1], "dist": "constant", "value": 127 }, | |
| "b_zero_point": { "dtype": "int8", "shape": [8193], "dist": "randint", "min": -8, "max": 8, "seed": 1309 }, | |
| "a_scale": { "dtype": "float32", "shape": [1], "dist": "constant", "value": 0.03125 }, | |
| "b_scale": { "dtype": "float32", "shape": [8193], "dist": "constant", "value": 0.015625 }, | |
| "y_scale": { "dtype": "float32", "shape": [1], "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "dtype": "uint8", "shape": [1], "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "dtype": "uint8", "shape": [64, 8193] } }, | |
| "vars": { "M": 64, "K": 1025, "N": 8193 }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * args.M * args.K * args.N" }] } | |
| }, | |
| { | |
| "name": "exact-portable-row-reuse-m65-k1025-n8193", | |
| "inputs": { | |
| "a": { "dtype": "uint8", "shape": [65, 1025], "dist": "randint", "min": 0, "max": 255, "seed": 1307 }, | |
| "b": { "dtype": "int8", "shape": [1025, 8193], "dist": "randint", "min": -128, "max": 127, "seed": 1308 }, | |
| "a_zero_point": { "dtype": "uint8", "shape": [1], "dist": "constant", "value": 127 }, | |
| "b_zero_point": { "dtype": "int8", "shape": [8193], "dist": "randint", "min": -8, "max": 8, "seed": 1309 }, | |
| "a_scale": { "dtype": "float32", "shape": [1], "dist": "constant", "value": 0.03125 }, | |
| "b_scale": { "dtype": "float32", "shape": [8193], "dist": "constant", "value": 0.015625 }, | |
| "y_scale": { "dtype": "float32", "shape": [1], "dist": "constant", "value": 4 }, | |
| "y_zero_point": { "dtype": "uint8", "shape": [1], "dist": "constant", "value": 128 } | |
| }, | |
| "outputs": { "y": { "dtype": "uint8", "shape": [65, 8193] } }, | |
| "vars": { "M": 65, "K": 1025, "N": 8193 }, | |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * args.M * args.K * args.N" }] } | |
| } | |
| ] | |
| } | |