Download build/webgpu/bench.json from webgpu-kernels/com.microsoft.GatedRelativePositionBias: direct link, hf CLI and curl.
- Browser
- Download file 85.6 kB
-
https://huggingface.co/kernels/webgpu-kernels/com.microsoft.GatedRelativePositionBias/resolve/v1/build/webgpu/bench.json
- Command line
-
hf download hf://webgpu-kernels/com.microsoft.GatedRelativePositionBias@v1/build/webgpu/bench.json
-
curl -L -o bench.json https://huggingface.co/kernels/webgpu-kernels/com.microsoft.GatedRelativePositionBias/resolve/v1/build/webgpu/bench.json
85.6 kB
| { | |
| "tunableSpace": { "WORKGROUP_SIZE": [64, 128, 256, 512] }, | |
| "cases": [ | |
| { | |
| "name": "grpb-b1-n12-s512-h64-d8-f32", | |
| "preset": "smoke", | |
| "provenance": { | |
| "notes": "Measures GatedRelativePositionBias over a 512-position sequence with 12 heads, producing 3,145,728 output elements in float32." | |
| }, | |
| "vars": { "dtype": "float32", "count": 3145728, "relCount": 3145728 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 512, 768], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 12, 512, 512], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [64, 8], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 12, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 12, 512, 512], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| }, | |
| "attrs": { "num_heads": 12 } | |
| }, | |
| { | |
| "name": "grpb-b1-n12-s512-h64-d8-f16", | |
| "preset": "smoke", | |
| "provenance": { "notes": "The float16 counterpart of the same utterance." }, | |
| "vars": { "dtype": "float16", "count": 3145728, "relCount": 3145728 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 512, 768], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [768], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 12, 512, 512], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [64, 8], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 12, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 12, 512, 512], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| }, | |
| "attrs": { "num_heads": 12 } | |
| }, | |
| { | |
| "name": "grpb-b4-n8-s256-h64-d8-f16", | |
| "preset": "smoke", | |
| "provenance": { | |
| "notes": "Batch 4 at a shorter length, where rel_pos is read once per batch and the batch stride is live." | |
| }, | |
| "vars": { "dtype": "float16", "count": 2097152, "relCount": 524288 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [4, 256, 512], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [512], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 8, 256, 256], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [64, 8], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 8, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [4, 8, 256, 256], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| }, | |
| "attrs": { "num_heads": 8 } | |
| }, | |
| { | |
| "name": "grpb-b1-n12-s1002-h64-d8-f32", | |
| "preset": "smoke", | |
| "provenance": { | |
| "notes": "A length that is not a multiple of four, so the scalar route runs at a realistic size." | |
| }, | |
| "vars": { "dtype": "float32", "count": 12048048, "relCount": 12048048 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 1002, 768], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 12, 1002, 1002], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [64, 8], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 12, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 12, 1002, 1002], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| }, | |
| "attrs": { "num_heads": 12 } | |
| }, | |
| { | |
| "name": "grpb-b1-n12-s1024-h64-d8-f16", | |
| "preset": "model", | |
| "provenance": { "notes": "A 1024-position utterance: 12.6M output elements, a working set past cache." }, | |
| "vars": { "dtype": "float16", "count": 12582912, "relCount": 12582912 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 1024, 768], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [768], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 12, 1024, 1024], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [64, 8], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 12, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 12, 1024, 1024], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| }, | |
| "attrs": { "num_heads": 12 } | |
| }, | |
| { | |
| "name": "grpb-b1-n12-s1024-h64-d8-f32", | |
| "preset": "model", | |
| "provenance": { "notes": "The float32 counterpart at twice the bytes." }, | |
| "vars": { "dtype": "float32", "count": 12582912, "relCount": 12582912 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 1024, 768], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 12, 1024, 1024], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [64, 8], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 12, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 12, 1024, 1024], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| }, | |
| "attrs": { "num_heads": 12 } | |
| }, | |
| { | |
| "name": "grpb-boundary-b2-n3-s128-h31-d8-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float32", "count": 98304, "relCount": 49152 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 128, 93], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [93], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 128, 128], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [31, 8], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 128, 128], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-boundary-b2-n3-s128-h32-d8-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float32", "count": 98304, "relCount": 49152 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 128, 96], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [96], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 128, 128], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [32, 8], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 128, 128], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-boundary-b2-n3-s127-h23-d6-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float32", "count": 96774, "relCount": 48387 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 127, 69], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [69], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 127, 127], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [23, 6], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [6], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 127, 127], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-boundary-b2-n3-s127-h24-d6-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float32", "count": 96774, "relCount": 48387 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 127, 72], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [72], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 127, 127], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [24, 6], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [6], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 127, 127], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-boundary-b2-n3-s128-h64-d10-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float32", "count": 98304, "relCount": 49152 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 128, 192], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [192], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 128, 128], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [64, 10], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [10], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 128, 128], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s1-h1-d2-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float32", "count": 6, "relCount": 3 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 1, 3], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [3], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [1, 2], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [2], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 1, 1], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s5-h3-d32-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float32", "count": 150, "relCount": 75 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 5, 9], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [9], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 5, 5], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [3, 32], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [32], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 5, 5], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s17-h8-d16-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float32", "count": 1734, "relCount": 867 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 17, 24], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [24], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 17, 17], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [8, 16], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [16], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 17, 17], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s31-h31-d6-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float32", "count": 5766, "relCount": 2883 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 31, 93], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [93], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 31, 31], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [31, 6], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [6], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 31, 31], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s64-h32-d32-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float32", "count": 24576, "relCount": 12288 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 64, 96], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [96], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 64, 64], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [32, 32], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [32], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 64, 64], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s127-h64-d2-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float32", "count": 96774, "relCount": 48387 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 127, 192], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [192], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 127, 127], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [64, 2], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [2], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 127, 127], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s128-h63-d8-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float32", "count": 98304, "relCount": 49152 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 128, 189], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [189], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 128, 128], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [63, 8], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 128, 128], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s257-h127-d6-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float32", "count": 396294, "relCount": 198147 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 257, 381], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [381], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 257, 257], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [127, 6], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [6], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 257, 257], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s256-h128-d32-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float32", "count": 393216, "relCount": 196608 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 256, 384], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [384], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 256, 256], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [128, 32], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [32], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 256, 256], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b1-n4-s512-h256-d16-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 4 }, | |
| "vars": { "dtype": "float32", "count": 1048576, "relCount": 1048576 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 512, 1024], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [1024], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 4, 512, 512], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [256, 16], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [16], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 4, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 4, 512, 512], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b1-n2-s63-h512-d8-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 2 }, | |
| "vars": { "dtype": "float32", "count": 7938, "relCount": 7938 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 63, 1024], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [1024], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 2, 63, 63], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [512, 8], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 2, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 2, 63, 63], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b1-n2-s32-h1024-d32-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 2 }, | |
| "vars": { "dtype": "float32", "count": 2048, "relCount": 2048 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 32, 2048], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [2048], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 2, 32, 32], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [1024, 32], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [32], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 2, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 2, 32, 32], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b1-n2-s2053-h64-d8-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 2 }, | |
| "vars": { "dtype": "float32", "count": 8429618, "relCount": 8429618 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 2053, 128], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 2, 2053, 2053], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [64, 8], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 2, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 2, 2053, 2053], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-stream-b2-n3-s258-h31-d6-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "tunables": { "WORKGROUP_SIZE": 32 }, | |
| "vars": { "dtype": "float32", "count": 399384, "relCount": 199692 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 258, 93], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [93], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 258, 258], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [31, 6], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [6], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 258, 258], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-wg64-b2-n3-s257-h127-d8-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "tunables": { "WORKGROUP_SIZE": 64, "LANE_WORDS": 1 }, | |
| "vars": { "dtype": "float32", "count": 396294, "relCount": 198147 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 257, 381], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [381], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 257, 257], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [127, 8], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 257, 257], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-wg256-b2-n3-s256-h128-d32-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "tunables": { "WORKGROUP_SIZE": 256, "LANE_WORDS": 1 }, | |
| "vars": { "dtype": "float32", "count": 393216, "relCount": 196608 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 256, 384], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [384], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 256, 256], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [128, 32], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [32], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 256, 256], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-wg512-b2-n3-s128-h127-d32-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "tunables": { "WORKGROUP_SIZE": 512, "LANE_WORDS": 8 }, | |
| "vars": { "dtype": "float32", "count": 98304, "relCount": 49152 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 128, 381], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [381], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 128, 128], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [127, 32], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [32], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 128, 128], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-boundary-b2-n3-s128-h31-d8-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float16", "count": 98304, "relCount": 49152 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 128, 93], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [93], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 128, 128], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [31, 8], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 128, 128], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-boundary-b2-n3-s128-h32-d8-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float16", "count": 98304, "relCount": 49152 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 128, 96], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [96], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 128, 128], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [32, 8], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 128, 128], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-boundary-b2-n3-s127-h23-d6-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float16", "count": 96774, "relCount": 48387 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 127, 69], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [69], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 127, 127], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [23, 6], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [6], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 127, 127], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-boundary-b2-n3-s127-h24-d6-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float16", "count": 96774, "relCount": 48387 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 127, 72], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [72], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 127, 127], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [24, 6], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [6], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 127, 127], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-boundary-b2-n3-s128-h64-d10-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float16", "count": 98304, "relCount": 49152 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 128, 192], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [192], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 128, 128], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [64, 10], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [10], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 128, 128], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s1-h1-d2-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float16", "count": 6, "relCount": 3 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 1, 3], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [3], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [1, 2], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [2], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 1, 1], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s5-h3-d32-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float16", "count": 150, "relCount": 75 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 5, 9], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [9], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 5, 5], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [3, 32], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [32], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 5, 5], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s17-h8-d16-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float16", "count": 1734, "relCount": 867 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 17, 24], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [24], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 17, 17], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [8, 16], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [16], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 17, 17], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s31-h31-d6-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float16", "count": 5766, "relCount": 2883 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 31, 93], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [93], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 31, 31], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [31, 6], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [6], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 31, 31], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s64-h32-d32-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float16", "count": 24576, "relCount": 12288 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 64, 96], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [96], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 64, 64], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [32, 32], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [32], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 64, 64], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s127-h64-d2-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float16", "count": 96774, "relCount": 48387 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 127, 192], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [192], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 127, 127], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [64, 2], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [2], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 127, 127], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s128-h63-d8-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float16", "count": 98304, "relCount": 49152 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 128, 189], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [189], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 128, 128], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [63, 8], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 128, 128], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s257-h127-d6-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float16", "count": 396294, "relCount": 198147 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 257, 381], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [381], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 257, 257], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [127, 6], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [6], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 257, 257], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b2-n3-s256-h128-d32-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "vars": { "dtype": "float16", "count": 393216, "relCount": 196608 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 256, 384], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [384], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 256, 256], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [128, 32], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [32], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 256, 256], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b1-n4-s512-h256-d16-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 4 }, | |
| "vars": { "dtype": "float16", "count": 1048576, "relCount": 1048576 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 512, 1024], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [1024], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 4, 512, 512], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [256, 16], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [16], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 4, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 4, 512, 512], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b1-n2-s63-h512-d8-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 2 }, | |
| "vars": { "dtype": "float16", "count": 7938, "relCount": 7938 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 63, 1024], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [1024], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 2, 63, 63], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [512, 8], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 2, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 2, 63, 63], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b1-n2-s32-h1024-d32-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 2 }, | |
| "vars": { "dtype": "float16", "count": 2048, "relCount": 2048 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 32, 2048], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [2048], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 2, 32, 32], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [1024, 32], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [32], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 2, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 2, 32, 32], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-general-b1-n2-s2053-h64-d8-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 2 }, | |
| "vars": { "dtype": "float16", "count": 8429618, "relCount": 8429618 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 2053, 128], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [128], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 2, 2053, 2053], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [64, 8], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 2, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 2, 2053, 2053], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-stream-b2-n3-s258-h31-d6-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "tunables": { "WORKGROUP_SIZE": 32 }, | |
| "vars": { "dtype": "float16", "count": 399384, "relCount": 199692 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 258, 93], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [93], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 258, 258], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [31, 6], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [6], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 258, 258], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-wg64-b2-n3-s257-h127-d8-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "tunables": { "WORKGROUP_SIZE": 64, "LANE_WORDS": 1 }, | |
| "vars": { "dtype": "float16", "count": 396294, "relCount": 198147 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 257, 381], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [381], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 257, 257], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [127, 8], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 257, 257], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-wg256-b2-n3-s256-h128-d32-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "tunables": { "WORKGROUP_SIZE": 256, "LANE_WORDS": 1 }, | |
| "vars": { "dtype": "float16", "count": 393216, "relCount": 196608 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 256, 384], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [384], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 256, 256], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [128, 32], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [32], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 256, 256], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-wg512-b2-n3-s128-h127-d32-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 3 }, | |
| "tunables": { "WORKGROUP_SIZE": 512, "LANE_WORDS": 8 }, | |
| "vars": { "dtype": "float16", "count": 98304, "relCount": 49152 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [2, 128, 381], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [381], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 3, 128, 128], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [127, 32], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [32], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 3, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 3, 128, 128], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-vec-stream-b1-n2-s1056-h64-d8-f32", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 2 }, | |
| "tunables": { "WORKGROUP_SIZE": 32 }, | |
| "vars": { "dtype": "float32", "count": 2230272, "relCount": 2230272 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 1056, 128], "dtype": "float32", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 2, 1056, 1056], "dtype": "float32", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [64, 8], "dtype": "float32", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float32", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 2, 1, 1], "dtype": "float32", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 2, 1056, 1056], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "grpb-vec-stream-b1-n2-s1056-h64-d8-f16", | |
| "preset": "stress", | |
| "provenance": { | |
| "notes": "Head-projection generalization guard: odd dimensions, projection halves, row streaming and batch/head indexing." | |
| }, | |
| "attrs": { "num_heads": 2 }, | |
| "tunables": { "WORKGROUP_SIZE": 32 }, | |
| "vars": { "dtype": "float16", "count": 2230272, "relCount": 2230272 }, | |
| "inputs": { | |
| "queryLayerT": { "shape": [1, 1056, 128], "dtype": "float16", "dist": "normal", "seed": 701, "scale": 0.25 }, | |
| "queryBiasT": { "shape": [128], "dtype": "float16", "dist": "normal", "seed": 702, "scale": 0.2 }, | |
| "relPosT": { "shape": [1, 2, 1056, 1056], "dtype": "float16", "dist": "normal", "seed": 703, "scale": 1 }, | |
| "weightT": { "shape": [64, 8], "dtype": "float16", "dist": "normal", "seed": 704, "scale": 0.25 }, | |
| "biasT": { "shape": [8], "dtype": "float16", "dist": "normal", "seed": 705, "scale": 0.3 }, | |
| "ecoAT": { "shape": [1, 2, 1, 1], "dtype": "float16", "dist": "normal", "seed": 706, "scale": 1 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 2, 1056, 1056], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(args.count + args.relCount + numel(shapes.queryLayerT) + numel(shapes.queryBiasT) + numel(shapes.weightT) + numel(shapes.biasT) + numel(shapes.ecoAT)) * dtypeBytes(args.dtype)" | |
| }, | |
| { | |
| "type": "gflops", | |
| "name": "projection_and_row_scale", | |
| "value": "2 * numel(shapes.queryLayerT) * dim(shapes.weightT, 1) + numel(shapes.outputT)" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| } | |