| { |
| "op": "com.microsoft.FusedConv", |
| "tunableSpace": { "WORKGROUP_SIZE": [64, 128, 256] }, |
| "cases": [ |
| { |
| "name": "fusedconv-f32-b1c16m32-32x32-k3", |
| "preset": "smoke", |
| "vars": { |
| "batch": 1, |
| "inChannels": 16, |
| "outChannels": 32, |
| "inH": 32, |
| "inW": 32, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 16, 32, 32], "dtype": "float32", "dist": "normal", "seed": 112, "scale": 0.2 }, |
| "w": { "shape": [32, 16, 3, 3], "dtype": "float32", "dist": "normal", "seed": 113, "scale": 0.1 } |
| }, |
| "outputs": { "y": { "shape": [1, 32, 32, 32], "dtype": "float32" } }, |
| "bench": { |
| "primary": true, |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-f32-bias-b1c16m32-32x32-k3", |
| "preset": "smoke", |
| "vars": { |
| "batch": 1, |
| "inChannels": 16, |
| "outChannels": 32, |
| "inH": 32, |
| "inW": 32, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 16, 32, 32], "dtype": "float32", "dist": "normal", "seed": 113, "scale": 0.2 }, |
| "w": { "shape": [32, 16, 3, 3], "dtype": "float32", "dist": "normal", "seed": 114, "scale": 0.1 }, |
| "bias": { "shape": [32], "dtype": "float32", "dist": "normal", "seed": 115, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 32, 32, 32], "dtype": "float32" } }, |
| "bench": { |
| "primary": true, |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fused-flux2vae-dec-mid-512c-64x64-k3", |
| "preset": "model", |
| "vars": { |
| "batch": 1, |
| "inChannels": 512, |
| "outChannels": 512, |
| "inH": 64, |
| "inW": 64, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 512, 64, 64], "dtype": "float32", "dist": "normal", "seed": 340, "scale": 0.2 }, |
| "w": { "shape": [512, 512, 3, 3], "dtype": "float32", "dist": "normal", "seed": 341, "scale": 0.02 } |
| }, |
| "outputs": { "y": { "shape": [1, 512, 64, 64], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fused-flux2vae-dec-up1-512c-128x128-k3", |
| "preset": "model", |
| "vars": { |
| "batch": 1, |
| "inChannels": 512, |
| "outChannels": 512, |
| "inH": 128, |
| "inW": 128, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 512, 128, 128], "dtype": "float32", "dist": "normal", "seed": 342, "scale": 0.2 }, |
| "w": { "shape": [512, 512, 3, 3], "dtype": "float32", "dist": "normal", "seed": 343, "scale": 0.02 } |
| }, |
| "outputs": { "y": { "shape": [1, 512, 128, 128], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fused-flux2vae-attn-proj-512c-64x64-k1", |
| "preset": "model", |
| "vars": { |
| "batch": 1, |
| "inChannels": 512, |
| "outChannels": 512, |
| "inH": 64, |
| "inW": 64, |
| "kernelH": 1, |
| "kernelW": 1, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 0, |
| "padW": 0 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [0, 0, 0, 0] }, |
| "inputs": { |
| "x": { "shape": [1, 512, 64, 64], "dtype": "float32", "dist": "normal", "seed": 344, "scale": 0.2 }, |
| "w": { "shape": [512, 512, 1, 1], "dtype": "float32", "dist": "normal", "seed": 345, "scale": 0.02 } |
| }, |
| "outputs": { "y": { "shape": [1, 512, 64, 64], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fused-flux2vae-attn-proj-bias-512c-64x64-k1", |
| "preset": "model", |
| "vars": { |
| "batch": 1, |
| "inChannels": 512, |
| "outChannels": 512, |
| "inH": 64, |
| "inW": 64, |
| "kernelH": 1, |
| "kernelW": 1, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 0, |
| "padW": 0 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [0, 0, 0, 0] }, |
| "inputs": { |
| "x": { "shape": [1, 512, 64, 64], "dtype": "float32", "dist": "normal", "seed": 346, "scale": 0.2 }, |
| "w": { "shape": [512, 512, 1, 1], "dtype": "float32", "dist": "normal", "seed": 347, "scale": 0.02 }, |
| "bias": { "shape": [512], "dtype": "float32", "dist": "normal", "seed": 348, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 512, 64, 64], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-f32-1x1-b1c256m256-32x32", |
| "preset": "smoke", |
| "vars": { |
| "batch": 1, |
| "inChannels": 256, |
| "outChannels": 256, |
| "inH": 32, |
| "inW": 32, |
| "kernelH": 1, |
| "kernelW": 1, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 0, |
| "padW": 0 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [0, 0, 0, 0] }, |
| "inputs": { |
| "x": { "shape": [1, 256, 32, 32], "dtype": "float32", "dist": "normal", "seed": 350, "scale": 0.2 }, |
| "w": { "shape": [256, 256, 1, 1], "dtype": "float32", "dist": "normal", "seed": 351, "scale": 0.02 } |
| }, |
| "outputs": { "y": { "shape": [1, 256, 32, 32], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-f32-1x1-bias-b1c256m256-32x32", |
| "preset": "smoke", |
| "provenance": { |
| "source": "authored for performance coverage", |
| "notes": "Bias twin of the paired non-bias case at the same 64 register tiles. No bias case sat in the 64-127 tile band, so the bias register-tile floor had no benchmark on either side of it." |
| }, |
| "vars": { |
| "batch": 1, |
| "inChannels": 256, |
| "outChannels": 256, |
| "inH": 32, |
| "inW": 32, |
| "kernelH": 1, |
| "kernelW": 1, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 0, |
| "padW": 0 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [0, 0, 0, 0] }, |
| "inputs": { |
| "x": { "shape": [1, 256, 32, 32], "dtype": "float32", "dist": "normal", "seed": 3521, "scale": 0.2 }, |
| "w": { "shape": [256, 256, 1, 1], "dtype": "float32", "dist": "normal", "seed": 3522, "scale": 0.02 }, |
| "bias": { "shape": [256], "dtype": "float32", "dist": "normal", "seed": 3523, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 256, 32, 32], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-f32-im2col-b1c32m64-32x32-k3", |
| "preset": "smoke", |
| "vars": { |
| "batch": 1, |
| "inChannels": 32, |
| "outChannels": 64, |
| "inH": 32, |
| "inW": 32, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 32, 32, 32], "dtype": "float32", "dist": "normal", "seed": 352, "scale": 0.2 }, |
| "w": { "shape": [64, 32, 3, 3], "dtype": "float32", "dist": "normal", "seed": 353, "scale": 0.02 } |
| }, |
| "outputs": { "y": { "shape": [1, 64, 32, 32], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-f16-1x1-b1c512m512-64x64", |
| "preset": "model", |
| "vars": { |
| "batch": 1, |
| "inChannels": 512, |
| "outChannels": 512, |
| "inH": 64, |
| "inW": 64, |
| "kernelH": 1, |
| "kernelW": 1, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 0, |
| "padW": 0 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [0, 0, 0, 0] }, |
| "inputs": { |
| "x": { "shape": [1, 512, 64, 64], "dtype": "float16", "dist": "normal", "seed": 354, "scale": 0.2 }, |
| "w": { "shape": [512, 512, 1, 1], "dtype": "float16", "dist": "normal", "seed": 355, "scale": 0.02 } |
| }, |
| "outputs": { "y": { "shape": [1, 512, 64, 64], "dtype": "float16" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-f16-b1c512m512-64x64-k3", |
| "preset": "model", |
| "vars": { |
| "batch": 1, |
| "inChannels": 512, |
| "outChannels": 512, |
| "inH": 64, |
| "inW": 64, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 512, 64, 64], "dtype": "float16", "dist": "normal", "seed": 356, "scale": 0.2 }, |
| "w": { "shape": [512, 512, 3, 3], "dtype": "float16", "dist": "normal", "seed": 357, "scale": 0.02 } |
| }, |
| "outputs": { "y": { "shape": [1, 512, 64, 64], "dtype": "float16" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-f32-b1c64m128-56x56-k3s2", |
| "preset": "model", |
| "vars": { |
| "batch": 1, |
| "inChannels": 64, |
| "outChannels": 128, |
| "inH": 56, |
| "inW": 56, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 2, |
| "strideW": 2, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "activation": "Relu", "strides": [2, 2], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 64, 56, 56], "dtype": "float32", "dist": "normal", "seed": 358, "scale": 0.2 }, |
| "w": { "shape": [128, 64, 3, 3], "dtype": "float32", "dist": "normal", "seed": 359, "scale": 0.02 } |
| }, |
| "outputs": { "y": { "shape": [1, 128, 28, 28], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-f32-group4-b1c64m64-32x32-k3", |
| "preset": "model", |
| "vars": { |
| "batch": 1, |
| "inChannels": 64, |
| "outChannels": 64, |
| "inH": 32, |
| "inW": 32, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "group": 4, "activation": "Relu", "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 64, 32, 32], "dtype": "float32", "dist": "normal", "seed": 360, "scale": 0.2 }, |
| "w": { "shape": [64, 16, 3, 3], "dtype": "float32", "dist": "normal", "seed": 361, "scale": 0.02 } |
| }, |
| "outputs": { "y": { "shape": [1, 64, 32, 32], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-f32-stem-3ch-224-k7s2", |
| "preset": "model", |
| "vars": { |
| "batch": 1, |
| "inChannels": 3, |
| "outChannels": 64, |
| "inH": 224, |
| "inW": 224, |
| "kernelH": 7, |
| "kernelW": 7, |
| "strideH": 2, |
| "strideW": 2, |
| "padH": 3, |
| "padW": 3 |
| }, |
| "attrs": { "activation": "Relu", "strides": [2, 2], "pads": [3, 3, 3, 3] }, |
| "inputs": { |
| "x": { "shape": [1, 3, 224, 224], "dtype": "float32", "dist": "normal", "seed": 1458, "scale": 0.2 }, |
| "w": { "shape": [64, 3, 7, 7], "dtype": "float32", "dist": "normal", "seed": 1459, "scale": 0.02 } |
| }, |
| "outputs": { "y": { "shape": [1, 64, 112, 112], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-f32-resnet-stage-256c-14x14-k3", |
| "preset": "model", |
| "vars": { |
| "batch": 1, |
| "inChannels": 256, |
| "outChannels": 256, |
| "inH": 14, |
| "inW": 14, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 256, 14, 14], "dtype": "float32", "dist": "normal", "seed": 2458, "scale": 0.2 }, |
| "w": { "shape": [256, 256, 3, 3], "dtype": "float32", "dist": "normal", "seed": 2459, "scale": 0.02 } |
| }, |
| "outputs": { "y": { "shape": [1, 256, 14, 14], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-1x1-tinyN-c256m256-8x8", |
| "preset": "smoke", |
| "vars": { |
| "batch": 1, |
| "inChannels": 256, |
| "outChannels": 256, |
| "inH": 8, |
| "inW": 8, |
| "kernelH": 1, |
| "kernelW": 1, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 0, |
| "padW": 0 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [0, 0, 0, 0] }, |
| "inputs": { |
| "x": { "shape": [1, 256, 8, 8], "dtype": "float32", "dist": "normal", "seed": 951, "scale": 0.2 }, |
| "w": { "shape": [256, 256, 1, 1], "dtype": "float32", "dist": "normal", "seed": 1642, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 256, 8, 8], "dtype": "float32" } }, |
| "bench": { |
| "primary": true, |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-1x1-bigN-c256m256-64x64", |
| "preset": "smoke", |
| "vars": { |
| "batch": 1, |
| "inChannels": 256, |
| "outChannels": 256, |
| "inH": 64, |
| "inW": 64, |
| "kernelH": 1, |
| "kernelW": 1, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 0, |
| "padW": 0 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [0, 0, 0, 0] }, |
| "inputs": { |
| "x": { "shape": [1, 256, 64, 64], "dtype": "float32", "dist": "normal", "seed": 7277, "scale": 0.2 }, |
| "w": { "shape": [256, 256, 1, 1], "dtype": "float32", "dist": "normal", "seed": 1530, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 256, 64, 64], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-3x3-unalignedK-c48m64-32x32", |
| "preset": "smoke", |
| "vars": { |
| "batch": 1, |
| "inChannels": 48, |
| "outChannels": 64, |
| "inH": 32, |
| "inW": 32, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 48, 32, 32], "dtype": "float32", "dist": "normal", "seed": 3152, "scale": 0.2 }, |
| "w": { "shape": [64, 48, 3, 3], "dtype": "float32", "dist": "normal", "seed": 7809, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 64, 32, 32], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-3x3-alignedK-c64m64-32x32", |
| "preset": "smoke", |
| "vars": { |
| "batch": 1, |
| "inChannels": 64, |
| "outChannels": 64, |
| "inH": 32, |
| "inW": 32, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 64, 32, 32], "dtype": "float32", "dist": "normal", "seed": 7770, "scale": 0.2 }, |
| "w": { "shape": [64, 64, 3, 3], "dtype": "float32", "dist": "normal", "seed": 2676, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 64, 32, 32], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-3x3-depthwise-c256-32x32", |
| "preset": "smoke", |
| "vars": { |
| "batch": 1, |
| "inChannels": 256, |
| "outChannels": 256, |
| "inH": 32, |
| "inW": 32, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "group": 256, "activation": "Relu", "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 256, 32, 32], "dtype": "float32", "dist": "normal", "seed": 8532, "scale": 0.2 }, |
| "w": { "shape": [256, 1, 3, 3], "dtype": "float32", "dist": "normal", "seed": 7192, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 256, 32, 32], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-3x3-dense-c256m256-32x32", |
| "preset": "smoke", |
| "vars": { |
| "batch": 1, |
| "inChannels": 256, |
| "outChannels": 256, |
| "inH": 32, |
| "inW": 32, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 256, 32, 32], "dtype": "float32", "dist": "normal", "seed": 839, "scale": 0.2 }, |
| "w": { "shape": [256, 256, 3, 3], "dtype": "float32", "dist": "normal", "seed": 1375, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 256, 32, 32], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-3x3-dense-bias-c256m256-32x32", |
| "preset": "smoke", |
| "provenance": { |
| "source": "authored for performance coverage", |
| "notes": "Bias twin of the paired non-bias case at the same 64 register tiles. No bias case sat in the 64-127 tile band, so the bias register-tile floor had no benchmark on either side of it." |
| }, |
| "vars": { |
| "batch": 1, |
| "inChannels": 256, |
| "outChannels": 256, |
| "inH": 32, |
| "inW": 32, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 256, 32, 32], "dtype": "float32", "dist": "normal", "seed": 3531, "scale": 0.2 }, |
| "w": { "shape": [256, 256, 3, 3], "dtype": "float32", "dist": "normal", "seed": 3532, "scale": 0.05 }, |
| "bias": { "shape": [256], "dtype": "float32", "dist": "normal", "seed": 3533, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 256, 32, 32], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-stem-cin3-k7s2-224", |
| "preset": "smoke", |
| "vars": { |
| "batch": 1, |
| "inChannels": 3, |
| "outChannels": 64, |
| "inH": 224, |
| "inW": 224, |
| "kernelH": 7, |
| "kernelW": 7, |
| "strideH": 2, |
| "strideW": 2, |
| "padH": 3, |
| "padW": 3 |
| }, |
| "attrs": { "activation": "Relu", "strides": [2, 2], "pads": [3, 3, 3, 3] }, |
| "inputs": { |
| "x": { "shape": [1, 3, 224, 224], "dtype": "float32", "dist": "normal", "seed": 1633, "scale": 0.2 }, |
| "w": { "shape": [64, 3, 7, 7], "dtype": "float32", "dist": "normal", "seed": 3717, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 64, 112, 112], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-mid-cin32-k3-112", |
| "preset": "smoke", |
| "vars": { |
| "batch": 1, |
| "inChannels": 32, |
| "outChannels": 64, |
| "inH": 112, |
| "inW": 112, |
| "kernelH": 3, |
| "kernelW": 3, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 1, |
| "padW": 1 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 32, 112, 112], "dtype": "float32", "dist": "normal", "seed": 895, "scale": 0.2 }, |
| "w": { "shape": [64, 32, 3, 3], "dtype": "float32", "dist": "normal", "seed": 3583, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 64, 112, 112], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-1x1-oddM66-c64-32x32", |
| "preset": "smoke", |
| "vars": { |
| "batch": 1, |
| "inChannels": 64, |
| "outChannels": 66, |
| "inH": 32, |
| "inW": 32, |
| "kernelH": 1, |
| "kernelW": 1, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 0, |
| "padW": 0 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [0, 0, 0, 0] }, |
| "inputs": { |
| "x": { "shape": [1, 64, 32, 32], "dtype": "float32", "dist": "normal", "seed": 7607, "scale": 0.2 }, |
| "w": { "shape": [66, 64, 1, 1], "dtype": "float32", "dist": "normal", "seed": 4643, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 66, 32, 32], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-1x1-pow2M64-c64-32x32", |
| "preset": "smoke", |
| "vars": { |
| "batch": 1, |
| "inChannels": 64, |
| "outChannels": 64, |
| "inH": 32, |
| "inW": 32, |
| "kernelH": 1, |
| "kernelW": 1, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 0, |
| "padW": 0 |
| }, |
| "attrs": { "activation": "Relu", "strides": [1, 1], "pads": [0, 0, 0, 0] }, |
| "inputs": { |
| "x": { "shape": [1, 64, 32, 32], "dtype": "float32", "dist": "normal", "seed": 8186, "scale": 0.2 }, |
| "w": { "shape": [64, 64, 1, 1], "dtype": "float32", "dist": "normal", "seed": 7554, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 64, 32, 32], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-group2-k7-c64m64-64x64-direct-fallback", |
| "provenance": { |
| "notes": "Named for the direct_unrolled route it was authored to expose. It now selects grouped_large_kernel_w4, the wide-output grouped kernel FusedConv gained from ai.onnx.Conv; kept under its original name as the grouped route regression guard." |
| }, |
| "preset": "stress", |
| "vars": { |
| "batch": 1, |
| "inChannels": 64, |
| "outChannels": 64, |
| "inH": 64, |
| "inW": 64, |
| "kernelH": 7, |
| "kernelW": 7, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 3, |
| "padW": 3, |
| "group": 2 |
| }, |
| "attrs": { "group": 2, "activation": "Relu", "strides": [1, 1], "pads": [3, 3, 3, 3] }, |
| "inputs": { |
| "x": { "shape": [1, 64, 64, 64], "dtype": "float32", "dist": "normal", "seed": 4801, "scale": 0.2 }, |
| "w": { "shape": [64, 32, 7, 7], "dtype": "float32", "dist": "normal", "seed": 4802, "scale": 0.02 } |
| }, |
| "outputs": { "y": { "shape": [1, 64, 64, 64], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-group4-k5-c128m128-48x48-direct-fallback", |
| "provenance": { |
| "notes": "Named for the direct_unrolled route it was authored to expose. It now selects grouped_large_kernel_w4, and its 5x5 kernel also sits in the band that kernel refused before its kernel-size floor was measured." |
| }, |
| "preset": "stress", |
| "vars": { |
| "batch": 1, |
| "inChannels": 128, |
| "outChannels": 128, |
| "inH": 48, |
| "inW": 48, |
| "kernelH": 5, |
| "kernelW": 5, |
| "strideH": 1, |
| "strideW": 1, |
| "padH": 2, |
| "padW": 2, |
| "group": 4 |
| }, |
| "attrs": { "group": 4, "activation": "Relu", "strides": [1, 1], "pads": [2, 2, 2, 2] }, |
| "inputs": { |
| "x": { "shape": [1, 128, 48, 48], "dtype": "float32", "dist": "normal", "seed": 4811, "scale": 0.2 }, |
| "w": { "shape": [128, 32, 5, 5], "dtype": "float32", "dist": "normal", "seed": 4812, "scale": 0.02 } |
| }, |
| "outputs": { "y": { "shape": [1, 128, 48, 48], "dtype": "float32" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * dim(shapes.y, 3) * dim(shapes.w, 1) * args.kernelH * args.kernelW" |
| } |
| ] |
| } |
| }, |
| { |
| "name": "fusedconv-conv1d-hardswish-b1c80m512-w3000-k3s1", |
| "preset": "stress", |
| "provenance": { |
| "source": "ONNX Runtime FusedConv provider semantics", |
| "notes": "Large aligned temporal convolution with bias and provider-backed HardSwish on the register-tiled implicit-GEMM path." |
| }, |
| "vars": { "batch": 1, "inChannels": 80, "outChannels": 512, "inW": 3000, "kernelW": 3, "strideW": 1, "padW": 1 }, |
| "attrs": { "activation": "HardSwish", "strides": [1], "pads": [1, 1] }, |
| "inputs": { |
| "x": { "shape": [1, 80, 3000], "dtype": "float32", "dist": "normal", "seed": 481, "scale": 0.2 }, |
| "w": { "shape": [512, 80, 3], "dtype": "float32", "dist": "normal", "seed": 482, "scale": 0.1 }, |
| "bias": { "shape": [512], "dtype": "float32", "dist": "normal", "seed": 483, "scale": 0.05 } |
| }, |
| "outputs": { "y": { "shape": [1, 512, 3000], "dtype": "float32" } }, |
| "bench": { |
| "primary": true, |
| "metrics": [ |
| { |
| "type": "gflops", |
| "value": "2 * args.batch * args.outChannels * dim(shapes.y, 2) * args.inChannels * args.kernelW" |
| } |
| ] |
| } |
| } |
| ] |
| } |
|
|