| { |
| "cases": [ |
| { |
| "name": "fusedgemm-relu-m3072-k768-n3072", |
| "preset": "smoke", |
| "vars": { "dtype": "float32" }, |
| "attrs": { "activation": "Relu" }, |
| "inputs": { |
| "A": { "shape": [3072, 768], "dtype": "float32", "dist": "normal", "seed": 5300, "scale": 1 }, |
| "B": { "shape": [768, 3072], "dtype": "float32", "dist": "normal", "seed": 5301, "scale": 1 }, |
| "C": { "shape": [3072], "dtype": "float32", "dist": "normal", "seed": 5302, "scale": 1 } |
| }, |
| "outputs": { "Y": { "shape": [3072, 3072], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * 3072 * 768 * 3072" }] } |
| }, |
| { |
| "name": "fusedgemm-transb-relu-m3072-k768-n3072", |
| "preset": "smoke", |
| "vars": { "dtype": "float32" }, |
| "attrs": { "transB": 1, "activation": "Relu" }, |
| "inputs": { |
| "A": { "shape": [3072, 768], "dtype": "float32", "dist": "normal", "seed": 5310, "scale": 1 }, |
| "B": { "shape": [3072, 768], "dtype": "float32", "dist": "normal", "seed": 5311, "scale": 1 }, |
| "C": { "shape": [3072], "dtype": "float32", "dist": "normal", "seed": 5312, "scale": 1 } |
| }, |
| "outputs": { "Y": { "shape": [3072, 3072], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * 3072 * 768 * 3072" }] } |
| }, |
| { |
| "name": "fusedgemm-f16-relu-m3072-k768-n3072", |
| "preset": "model", |
| "vars": { "dtype": "float16" }, |
| "attrs": { "activation": "Relu" }, |
| "inputs": { |
| "A": { "shape": [3072, 768], "dtype": "float16", "dist": "normal", "seed": 5320, "scale": 1 }, |
| "B": { "shape": [768, 3072], "dtype": "float16", "dist": "normal", "seed": 5321, "scale": 1 }, |
| "C": { "shape": [3072], "dtype": "float16", "dist": "normal", "seed": 5322, "scale": 1 } |
| }, |
| "outputs": { "Y": { "shape": [3072, 3072], "dtype": "float16" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * 3072 * 768 * 3072" }] } |
| }, |
| { |
| "name": "fusedgemm-nobias-tanh-m2048-k1024-n2048", |
| "preset": "model", |
| "vars": { "dtype": "float32" }, |
| "attrs": { "activation": "Tanh" }, |
| "inputs": { |
| "A": { "shape": [2048, 1024], "dtype": "float32", "dist": "normal", "seed": 5330, "scale": 1 }, |
| "B": { "shape": [1024, 2048], "dtype": "float32", "dist": "normal", "seed": 5331, "scale": 1 } |
| }, |
| "outputs": { "Y": { "shape": [2048, 2048], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * 2048 * 1024 * 2048" }] } |
| }, |
| { |
| "name": "fusedgemm-noactivation-m2048-k1024-n2048", |
| "preset": "model", |
| "vars": { "dtype": "float32" }, |
| "attrs": {}, |
| "inputs": { |
| "A": { "shape": [2048, 1024], "dtype": "float32", "dist": "normal", "seed": 5340, "scale": 1 }, |
| "B": { "shape": [1024, 2048], "dtype": "float32", "dist": "normal", "seed": 5341, "scale": 1 }, |
| "C": { "shape": [2048], "dtype": "float32", "dist": "normal", "seed": 5342, "scale": 1 } |
| }, |
| "outputs": { "Y": { "shape": [2048, 2048], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * 2048 * 1024 * 2048" }] } |
| }, |
| { |
| "name": "fusedgemm-f16-transb-relu-m1-k4096-n4096-sgmat-floor-pathology", |
| "preset": "model", |
| "vars": { "dtype": "float16" }, |
| "attrs": { "transB": 1, "activation": "Relu" }, |
| "inputs": { |
| "A": { "shape": [1, 4096], "dtype": "float16", "dist": "normal", "seed": 5350, "scale": 1 }, |
| "B": { "shape": [4096, 4096], "dtype": "float16", "dist": "normal", "seed": 5351, "scale": 1 }, |
| "C": { "shape": [4096], "dtype": "float16", "dist": "normal", "seed": 5352, "scale": 1 } |
| }, |
| "outputs": { "Y": { "shape": [1, 4096], "dtype": "float16" } }, |
| "bench": { |
| "metrics": [ |
| { "type": "gflops", "value": "2 * 1 * 4096 * 4096" }, |
| { |
| "type": "bandwidth", |
| "name": "logical input/output bytes", |
| "value": "dtypeBytes(args.dtype) * (numel(shapes.A) + numel(shapes.B) + numel(shapes.Y) + numel(shapes.C))", |
| "provenance": "logical" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedgemm-f16-transb-relu-m64-k4096-n4096-control", |
| "preset": "model", |
| "vars": { "dtype": "float16" }, |
| "attrs": { "transB": 1, "activation": "Relu" }, |
| "inputs": { |
| "A": { "shape": [64, 4096], "dtype": "float16", "dist": "normal", "seed": 5380, "scale": 1 }, |
| "B": { "shape": [4096, 4096], "dtype": "float16", "dist": "normal", "seed": 5381, "scale": 1 }, |
| "C": { "shape": [4096], "dtype": "float16", "dist": "normal", "seed": 5382, "scale": 1 } |
| }, |
| "outputs": { "Y": { "shape": [64, 4096], "dtype": "float16" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "2 * 64 * 4096 * 4096" }] } |
| }, |
| { |
| "name": "fusedgemm-f16-single-row-k1024-n64-transb1-leakyrelu", |
| "preset": "model", |
| "vars": { "M": 1, "K": 1024, "N": 64, "dtype": "float16" }, |
| "attrs": { "transB": 1, "activation": "LeakyRelu" }, |
| "inputs": { |
| "A": { "shape": [1, 1024], "dtype": "float16", "dist": "normal", "seed": 5350, "scale": 1 }, |
| "B": { "shape": [64, 1024], "dtype": "float16", "dist": "normal", "seed": 5351, "scale": 1 }, |
| "C": { "shape": [64], "dtype": "float16", "dist": "normal", "seed": 5352, "scale": 1 } |
| }, |
| "outputs": { "Y": { "shape": [1, 64], "dtype": "float16" } }, |
| "bench": { |
| "metrics": [ |
| { "type": "gflops", "value": "2 * args.M * args.K * args.N" }, |
| { |
| "type": "bandwidth", |
| "name": "logical input/output bytes", |
| "value": "dtypeBytes(args.dtype) * (numel(shapes.A) + numel(shapes.B) + numel(shapes.Y) + numel(shapes.C))", |
| "provenance": "logical" |
| } |
| ] |
| }, |
| "provenance": { |
| "source": "synthetic benchmark", |
| "notes": "Single-row fused projection spanning reduction length, output width, weight orientation and activation, with f32 accumulation and f16 output." |
| } |
| }, |
| { |
| "name": "fusedgemm-f16-single-row-k128-n4096-transb1-hardsigmoid", |
| "preset": "model", |
| "vars": { "M": 1, "K": 128, "N": 4096, "dtype": "float16" }, |
| "attrs": { "transB": 1, "activation": "HardSigmoid" }, |
| "inputs": { |
| "A": { "shape": [1, 128], "dtype": "float16", "dist": "normal", "seed": 5350, "scale": 1 }, |
| "B": { "shape": [4096, 128], "dtype": "float16", "dist": "normal", "seed": 5351, "scale": 1 } |
| }, |
| "outputs": { "Y": { "shape": [1, 4096], "dtype": "float16" } }, |
| "bench": { |
| "metrics": [ |
| { "type": "gflops", "value": "2 * args.M * args.K * args.N" }, |
| { |
| "type": "bandwidth", |
| "name": "logical input/output bytes", |
| "value": "dtypeBytes(args.dtype) * (numel(shapes.A) + numel(shapes.B) + numel(shapes.Y))", |
| "provenance": "logical" |
| } |
| ] |
| }, |
| "provenance": { |
| "source": "synthetic benchmark", |
| "notes": "Single-row fused projection spanning reduction length, output width, weight orientation and activation, with f32 accumulation and f16 output." |
| } |
| }, |
| { |
| "name": "fusedgemm-f16-single-row-k32-n256-transb1-tanh", |
| "preset": "model", |
| "vars": { "M": 1, "K": 32, "N": 256, "dtype": "float16" }, |
| "attrs": { "transB": 1, "activation": "Tanh" }, |
| "inputs": { |
| "A": { "shape": [1, 32], "dtype": "float16", "dist": "normal", "seed": 5350, "scale": 1 }, |
| "B": { "shape": [256, 32], "dtype": "float16", "dist": "normal", "seed": 5351, "scale": 1 } |
| }, |
| "outputs": { "Y": { "shape": [1, 256], "dtype": "float16" } }, |
| "bench": { |
| "metrics": [ |
| { "type": "gflops", "value": "2 * args.M * args.K * args.N" }, |
| { |
| "type": "bandwidth", |
| "name": "logical input/output bytes", |
| "value": "dtypeBytes(args.dtype) * (numel(shapes.A) + numel(shapes.B) + numel(shapes.Y))", |
| "provenance": "logical" |
| } |
| ] |
| }, |
| "provenance": { |
| "source": "synthetic benchmark", |
| "notes": "Single-row fused projection spanning reduction length, output width, weight orientation and activation, with f32 accumulation and f16 output." |
| } |
| }, |
| { |
| "name": "fusedgemm-f16-single-row-k1024-n64-transb0-relu", |
| "preset": "model", |
| "vars": { "M": 1, "K": 1024, "N": 64, "dtype": "float16" }, |
| "attrs": { "transB": 0, "activation": "Relu" }, |
| "inputs": { |
| "A": { "shape": [1, 1024], "dtype": "float16", "dist": "normal", "seed": 5350, "scale": 1 }, |
| "B": { "shape": [1024, 64], "dtype": "float16", "dist": "normal", "seed": 5351, "scale": 1 }, |
| "C": { "shape": [64], "dtype": "float16", "dist": "normal", "seed": 5352, "scale": 1 } |
| }, |
| "outputs": { "Y": { "shape": [1, 64], "dtype": "float16" } }, |
| "bench": { |
| "metrics": [ |
| { "type": "gflops", "value": "2 * args.M * args.K * args.N" }, |
| { |
| "type": "bandwidth", |
| "name": "logical input/output bytes", |
| "value": "dtypeBytes(args.dtype) * (numel(shapes.A) + numel(shapes.B) + numel(shapes.Y) + numel(shapes.C))", |
| "provenance": "logical" |
| } |
| ] |
| }, |
| "provenance": { |
| "source": "synthetic benchmark", |
| "notes": "Single-row fused projection spanning reduction length, output width, weight orientation and activation, with f32 accumulation and f16 output." |
| } |
| }, |
| { |
| "name": "gemv-float32-k128-n4096-ta0-none-plain", |
| "preset": "model", |
| "vars": { "dtype": "float32" }, |
| "attrs": { "transA": 0, "transB": 1 }, |
| "inputs": { |
| "A": { "shape": [1, 128], "dtype": "float32", "dist": "normal", "seed": 5350, "scale": 1 }, |
| "B": { "shape": [4096, 128], "dtype": "float32", "dist": "normal", "seed": 5351, "scale": 1 } |
| }, |
| "outputs": { "Y": { "dtype": "float32", "shape": [1, 4096] } }, |
| "bench": { |
| "metrics": [ |
| { "type": "gflops", "value": 1048576 }, |
| { |
| "type": "bandwidth", |
| "name": "logical input/output bytes", |
| "value": "dtypeBytes(args.dtype) * (numel(shapes.A) + numel(shapes.B) + numel(shapes.Y))", |
| "provenance": "logical" |
| } |
| ] |
| }, |
| "provenance": { |
| "source": "synthetic benchmark", |
| "notes": "Single-row fused projection covers dtype, stored A orientation, output alignment, broadcast bias and activation." |
| } |
| }, |
| { |
| "name": "gemv-float32-k4096-n4096-ta1-none-Sigmoid", |
| "preset": "model", |
| "vars": { "dtype": "float32" }, |
| "attrs": { "transA": 1, "transB": 1, "activation": "Sigmoid" }, |
| "inputs": { |
| "A": { "shape": [4096, 1], "dtype": "float32", "dist": "normal", "seed": 5350, "scale": 1 }, |
| "B": { "shape": [4096, 4096], "dtype": "float32", "dist": "normal", "seed": 5351, "scale": 1 } |
| }, |
| "outputs": { "Y": { "dtype": "float32", "shape": [1, 4096] } }, |
| "bench": { |
| "metrics": [ |
| { "type": "gflops", "value": 33554432 }, |
| { |
| "type": "bandwidth", |
| "name": "logical input/output bytes", |
| "value": "dtypeBytes(args.dtype) * (numel(shapes.A) + numel(shapes.B) + numel(shapes.Y))", |
| "provenance": "logical" |
| } |
| ] |
| }, |
| "provenance": { |
| "source": "synthetic benchmark", |
| "notes": "Single-row fused projection covers dtype, stored A orientation, output alignment, broadcast bias and activation." |
| } |
| }, |
| { |
| "name": "gemv-float16-k1023-n257-ta0-scalar-LeakyRelu", |
| "preset": "model", |
| "vars": { "dtype": "float16" }, |
| "attrs": { |
| "transA": 0, |
| "transB": 1, |
| "activation": "LeakyRelu", |
| "alpha": 0.75, |
| "beta": -0.25, |
| "activation_alpha": 0.125, |
| "activation_beta": 0.375 |
| }, |
| "inputs": { |
| "A": { "shape": [1, 1023], "dtype": "float16", "dist": "normal", "seed": 5350, "scale": 1 }, |
| "B": { "shape": [257, 1023], "dtype": "float16", "dist": "normal", "seed": 5351, "scale": 1 }, |
| "C": { "shape": [], "dtype": "float16", "dist": "normal", "seed": 5352, "scale": 1 } |
| }, |
| "outputs": { "Y": { "dtype": "float16", "shape": [1, 257] } }, |
| "bench": { |
| "metrics": [ |
| { "type": "gflops", "value": 525822 }, |
| { |
| "type": "bandwidth", |
| "name": "logical input/output bytes", |
| "value": "dtypeBytes(args.dtype) * (numel(shapes.A) + numel(shapes.B) + numel(shapes.Y) + numel(shapes.C))", |
| "provenance": "logical" |
| } |
| ] |
| }, |
| "provenance": { |
| "source": "synthetic benchmark", |
| "notes": "Single-row fused projection covers dtype, stored A orientation, output alignment, broadcast bias and activation." |
| } |
| }, |
| { |
| "name": "gemv-float16-k4096-n4096-ta1-scalar-HardSigmoid", |
| "preset": "model", |
| "vars": { "dtype": "float16" }, |
| "attrs": { "transA": 1, "transB": 1, "activation": "HardSigmoid" }, |
| "inputs": { |
| "A": { "shape": [4096, 1], "dtype": "float16", "dist": "normal", "seed": 5350, "scale": 1 }, |
| "B": { "shape": [4096, 4096], "dtype": "float16", "dist": "normal", "seed": 5351, "scale": 1 }, |
| "C": { "shape": [], "dtype": "float16", "dist": "normal", "seed": 5352, "scale": 1 } |
| }, |
| "outputs": { "Y": { "dtype": "float16", "shape": [1, 4096] } }, |
| "bench": { |
| "metrics": [ |
| { "type": "gflops", "value": 33554432 }, |
| { |
| "type": "bandwidth", |
| "name": "logical input/output bytes", |
| "value": "dtypeBytes(args.dtype) * (numel(shapes.A) + numel(shapes.B) + numel(shapes.Y) + numel(shapes.C))", |
| "provenance": "logical" |
| } |
| ] |
| }, |
| "provenance": { |
| "source": "synthetic benchmark", |
| "notes": "Single-row fused projection covers dtype, stored A orientation, output alignment, broadcast bias and activation." |
| } |
| }, |
| { |
| "name": "direct_a_m31_k96_n128_tb1", |
| "attrs": { "transB": 1, "activation": "Relu" }, |
| "inputs": { |
| "A": { "shape": [31, 96], "dtype": "float32", "dist": "normal", "seed": 5400, "scale": 0.125 }, |
| "B": { "shape": [128, 96], "dtype": "float32", "dist": "normal", "seed": 5500, "scale": 0.125 }, |
| "C": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 5600, "scale": 0.125 } |
| }, |
| "outputs": { "Y": { "shape": [31, 128], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "761856" }] } |
| }, |
| { |
| "name": "direct_a_m32_k96_n128_tb1", |
| "attrs": { "transB": 1, "activation": "Relu" }, |
| "inputs": { |
| "A": { "shape": [32, 96], "dtype": "float32", "dist": "normal", "seed": 5401, "scale": 0.125 }, |
| "B": { "shape": [128, 96], "dtype": "float32", "dist": "normal", "seed": 5501, "scale": 0.125 }, |
| "C": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 5601, "scale": 0.125 } |
| }, |
| "outputs": { "Y": { "shape": [32, 128], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "786432" }] } |
| }, |
| { |
| "name": "direct_a_m33_k96_n128_tb1", |
| "attrs": { "transB": 1, "activation": "Relu" }, |
| "inputs": { |
| "A": { "shape": [33, 96], "dtype": "float32", "dist": "normal", "seed": 5402, "scale": 0.125 }, |
| "B": { "shape": [128, 96], "dtype": "float32", "dist": "normal", "seed": 5502, "scale": 0.125 }, |
| "C": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 5602, "scale": 0.125 } |
| }, |
| "outputs": { "Y": { "shape": [33, 128], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "811008" }] } |
| }, |
| { |
| "name": "direct_a_m63_k96_n128_tb1", |
| "attrs": { "transB": 1, "activation": "Relu" }, |
| "inputs": { |
| "A": { "shape": [63, 96], "dtype": "float32", "dist": "normal", "seed": 5403, "scale": 0.125 }, |
| "B": { "shape": [128, 96], "dtype": "float32", "dist": "normal", "seed": 5503, "scale": 0.125 }, |
| "C": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 5603, "scale": 0.125 } |
| }, |
| "outputs": { "Y": { "shape": [63, 128], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "1548288" }] } |
| }, |
| { |
| "name": "direct_a_m64_k96_n128_tb1", |
| "attrs": { "transB": 1, "activation": "Relu" }, |
| "inputs": { |
| "A": { "shape": [64, 96], "dtype": "float32", "dist": "normal", "seed": 5404, "scale": 0.125 }, |
| "B": { "shape": [128, 96], "dtype": "float32", "dist": "normal", "seed": 5504, "scale": 0.125 }, |
| "C": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 5604, "scale": 0.125 } |
| }, |
| "outputs": { "Y": { "shape": [64, 128], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "1572864" }] } |
| }, |
| { |
| "name": "direct_a_m65_k96_n128_tb1", |
| "attrs": { "transB": 1, "activation": "Relu" }, |
| "inputs": { |
| "A": { "shape": [65, 96], "dtype": "float32", "dist": "normal", "seed": 5405, "scale": 0.125 }, |
| "B": { "shape": [128, 96], "dtype": "float32", "dist": "normal", "seed": 5505, "scale": 0.125 }, |
| "C": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 5605, "scale": 0.125 } |
| }, |
| "outputs": { "Y": { "shape": [65, 128], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "1597440" }] } |
| }, |
| { |
| "name": "direct_a_m64_k32_n64_tb0", |
| "attrs": { "transB": 0, "activation": "Tanh" }, |
| "inputs": { |
| "A": { "shape": [64, 32], "dtype": "float32", "dist": "normal", "seed": 5406, "scale": 0.125 }, |
| "B": { "shape": [32, 64], "dtype": "float32", "dist": "normal", "seed": 5506, "scale": 0.125 } |
| }, |
| "outputs": { "Y": { "shape": [64, 64], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "262144" }] } |
| }, |
| { |
| "name": "direct_a_m32_k224_n64_tb0", |
| "attrs": { "transB": 0 }, |
| "inputs": { |
| "A": { "shape": [32, 224], "dtype": "float32", "dist": "normal", "seed": 5408, "scale": 0.125 }, |
| "B": { "shape": [224, 64], "dtype": "float32", "dist": "normal", "seed": 5508, "scale": 0.125 } |
| }, |
| "outputs": { "Y": { "shape": [32, 64], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "917504" }] } |
| }, |
| { |
| "name": "direct_a_m32_k256_n64_tb1", |
| "attrs": { "transB": 1 }, |
| "inputs": { |
| "A": { "shape": [32, 256], "dtype": "float32", "dist": "normal", "seed": 5409, "scale": 0.125 }, |
| "B": { "shape": [64, 256], "dtype": "float32", "dist": "normal", "seed": 5509, "scale": 0.125 } |
| }, |
| "outputs": { "Y": { "shape": [32, 64], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "1048576" }] } |
| }, |
| { |
| "name": "direct_a_m32_k288_n64_tb0", |
| "attrs": { "transB": 0 }, |
| "inputs": { |
| "A": { "shape": [32, 288], "dtype": "float32", "dist": "normal", "seed": 5410, "scale": 0.125 }, |
| "B": { "shape": [288, 64], "dtype": "float32", "dist": "normal", "seed": 5510, "scale": 0.125 } |
| }, |
| "outputs": { "Y": { "shape": [32, 64], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "1179648" }] } |
| }, |
| { |
| "name": "direct_a_m32_k768_n128_tb0", |
| "attrs": { "transB": 0, "activation": "Relu" }, |
| "inputs": { |
| "A": { "shape": [32, 768], "dtype": "float32", "dist": "normal", "seed": 5411, "scale": 0.125 }, |
| "B": { "shape": [768, 128], "dtype": "float32", "dist": "normal", "seed": 5511, "scale": 0.125 }, |
| "C": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 5611, "scale": 0.125 } |
| }, |
| "outputs": { "Y": { "shape": [32, 128], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "6291456" }] } |
| }, |
| { |
| "name": "direct_a_m64_k1024_n128_tb0", |
| "attrs": { "transB": 0, "activation": "Tanh" }, |
| "inputs": { |
| "A": { "shape": [64, 1024], "dtype": "float32", "dist": "normal", "seed": 5412, "scale": 0.125 }, |
| "B": { "shape": [1024, 128], "dtype": "float32", "dist": "normal", "seed": 5512, "scale": 0.125 } |
| }, |
| "outputs": { "Y": { "shape": [64, 128], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "gflops", "value": "16777216" }] } |
| } |
| ] |
| } |
|
|