| { |
| "tunableSpace": { "WORKGROUP_SIZE": [64, 128, 256] }, |
| "cases": [ |
| { |
| "name": "add-f32-4m", |
| "preset": "smoke", |
| "vars": { "dtype": "float32", "count": 4194304 }, |
| "inputs": { |
| "a": { "shape": [4194304], "dtype": "float32", "dist": "normal", "seed": 102, "scale": 2 }, |
| "b": { "shape": [4194304], "dtype": "float32", "dist": "normal", "seed": 103, "scale": 2 } |
| }, |
| "outputs": { "c": { "shape": [4194304], "dtype": "float32" } }, |
| "bench": { |
| "primary": true, |
| "metrics": [{ "type": "bandwidth", "value": "args.count * dtypeBytes(args.dtype) * 3" }] |
| } |
| }, |
| { |
| "name": "add-f32-8m-dram-bound", |
| "preset": "stress", |
| "vars": { "dtype": "float32", "count": 8388608 }, |
| "inputs": { |
| "a": { "shape": [8388608], "dtype": "float32", "dist": "normal", "seed": 102, "scale": 2 }, |
| "b": { "shape": [8388608], "dtype": "float32", "dist": "normal", "seed": 103, "scale": 2 } |
| }, |
| "outputs": { "c": { "shape": [8388608], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "args.count * dtypeBytes(args.dtype) * 3" }] }, |
| "provenance": { |
| "notes": "A 32 MB output lies beyond the 16 MB threshold where the vec4 kernel changes from four groups per lane to one, exercising the large-output DRAM-bound configuration." |
| } |
| }, |
| { |
| "name": "add-f32-biasadd-2048x2048", |
| "preset": "model", |
| "vars": { "dtype": "float32" }, |
| "inputs": { |
| "a": { "shape": [2048, 2048], "dtype": "float32", "dist": "normal", "seed": 202, "scale": 2 }, |
| "b": { "shape": [2048], "dtype": "float32", "dist": "normal", "seed": 203, "scale": 2 } |
| }, |
| "outputs": { "c": { "shape": [2048, 2048], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "2048 * 2048 * 2 * dtypeBytes(args.dtype)" }] } |
| }, |
| { |
| "name": "add-f32-channelscale-1x1024x64x64", |
| "preset": "model", |
| "vars": { "dtype": "float32" }, |
| "inputs": { |
| "a": { "shape": [1, 1024, 64, 64], "dtype": "float32", "dist": "normal", "seed": 302, "scale": 2 }, |
| "b": { "shape": [1, 1024, 1, 1], "dtype": "float32", "dist": "normal", "seed": 303, "scale": 2 } |
| }, |
| "outputs": { "c": { "shape": [1, 1024, 64, 64], "dtype": "float32" } }, |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "1024 * 64 * 64 * 2 * dtypeBytes(args.dtype)" }] } |
| }, |
| { |
| "name": "add-f32-broadcast-scalar-fallback-4m", |
| "preset": "stress", |
| "vars": { "dtype": "float32", "count": 4190208 }, |
| "inputs": { |
| "a": { "shape": [4096, 1023], "dtype": "float32", "dist": "normal", "seed": 142, "scale": 2 }, |
| "b": { "shape": [1, 1023], "dtype": "float32", "dist": "normal", "seed": 143, "scale": 2 } |
| }, |
| "outputs": { "c": { "shape": [4096, 1023], "dtype": "float32", "dist": "empty" } }, |
| "bench": { "metrics": [{ "type": "bandwidth", "value": "args.count * dtypeBytes(args.dtype) * 2" }] } |
| }, |
| { |
| "name": "add-f32-odd-numel-same-shape-4m", |
| "preset": "smoke", |
| "vars": { "dtype": "float32", "count": 4194303 }, |
| "inputs": { |
| "a": { "shape": [4194303], "dtype": "float32", "dist": "normal", "seed": 102, "scale": 2 }, |
| "b": { "shape": [4194303], "dtype": "float32", "dist": "normal", "seed": 103, "scale": 2 } |
| }, |
| "outputs": { "c": { "shape": [4194303], "dtype": "float32" } }, |
| "bench": { |
| "primary": true, |
| "metrics": [{ "type": "bandwidth", "value": "args.count * dtypeBytes(args.dtype) * 3" }] |
| } |
| } |
| ] |
| } |
|
|