File size: 13,452 Bytes
2760d09 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | {
"op": "com.microsoft.SkipLayerNormalization",
"cases": [
{
"name": "skip-layernorm-f32-256x128",
"preset": "smoke",
"vars": { "rows": 256, "hidden": 128 },
"attrs": { "epsilon": 0.00001 },
"inputs": {
"inputT": { "shape": [256, 128], "dtype": "float32", "dist": "normal", "seed": 213, "scale": 0.2 },
"skipT": { "shape": [256, 128], "dtype": "float32", "dist": "normal", "seed": 214, "scale": 0.2 },
"gammaT": { "shape": [128], "dtype": "float32", "dist": "uniform", "seed": 215, "scale": 0.1, "offset": 1 },
"betaT": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 216, "scale": 0.1 }
},
"outputs": {
"outputT": { "shape": [256, 128], "dtype": "float32" },
"residualT": { "shape": [256, 128], "dtype": "float32" }
},
"bench": {
"primary": true,
"metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 2 * args.hidden)" }]
}
},
{
"name": "skip-layernorm-f32-no-beta-output-256x128",
"preset": "smoke",
"vars": { "rows": 256, "hidden": 128 },
"attrs": { "epsilon": 0.00001 },
"inputs": {
"inputT": { "shape": [256, 128], "dtype": "float32", "dist": "normal", "seed": 219, "scale": 0.2 },
"skipT": { "shape": [256, 128], "dtype": "float32", "dist": "normal", "seed": 220, "scale": 0.2 },
"gammaT": { "shape": [128], "dtype": "float32", "dist": "uniform", "seed": 221, "scale": 0.1, "offset": 1 }
},
"outputs": { "outputT": { "shape": [256, 128], "dtype": "float32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (3 * args.rows * args.hidden + args.hidden)" }] }
},
{
"name": "skip-layernorm-f32-bias-256x128",
"preset": "smoke",
"vars": { "rows": 256, "hidden": 128 },
"attrs": { "epsilon": 0.00001 },
"inputs": {
"inputT": { "shape": [256, 128], "dtype": "float32", "dist": "normal", "seed": 214, "scale": 0.2 },
"skipT": { "shape": [256, 128], "dtype": "float32", "dist": "normal", "seed": 215, "scale": 0.2 },
"gammaT": { "shape": [128], "dtype": "float32", "dist": "uniform", "seed": 216, "scale": 0.1, "offset": 1 },
"betaT": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 217, "scale": 0.1 },
"biasT": { "shape": [128], "dtype": "float32", "dist": "normal", "seed": 218, "scale": 0.05 }
},
"outputs": {
"outputT": { "shape": [256, 128], "dtype": "float32" },
"residualT": { "shape": [256, 128], "dtype": "float32" }
},
"bench": {
"primary": true,
"metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 3 * args.hidden)" }]
}
},
{
"name": "skip-layernorm-f32-4096x768",
"preset": "model",
"vars": { "rows": 4096, "hidden": 768 },
"attrs": { "epsilon": 0.00001 },
"inputs": {
"inputT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 313, "scale": 0.2 },
"skipT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 314, "scale": 0.2 },
"gammaT": { "shape": [768], "dtype": "float32", "dist": "uniform", "seed": 315, "scale": 0.1, "offset": 1 },
"betaT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 316, "scale": 0.1 }
},
"outputs": {
"outputT": { "shape": [4096, 768], "dtype": "float32" },
"residualT": { "shape": [4096, 768], "dtype": "float32" }
},
"bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 2 * args.hidden)" }] }
},
{
"name": "skip-layernorm-f32-no-beta-output-4096x768",
"preset": "model",
"vars": { "rows": 4096, "hidden": 768 },
"attrs": { "epsilon": 0.00001 },
"inputs": {
"inputT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 319, "scale": 0.2 },
"skipT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 320, "scale": 0.2 },
"gammaT": { "shape": [768], "dtype": "float32", "dist": "uniform", "seed": 321, "scale": 0.1, "offset": 1 }
},
"outputs": { "outputT": { "shape": [4096, 768], "dtype": "float32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (3 * args.rows * args.hidden + args.hidden)" }] }
},
{
"name": "skip-layernorm-f32-bias-4096x768",
"preset": "model",
"vars": { "rows": 4096, "hidden": 768 },
"attrs": { "epsilon": 0.00001 },
"inputs": {
"inputT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 314, "scale": 0.2 },
"skipT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 315, "scale": 0.2 },
"gammaT": { "shape": [768], "dtype": "float32", "dist": "uniform", "seed": 316, "scale": 0.1, "offset": 1 },
"betaT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 317, "scale": 0.1 },
"biasT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 318, "scale": 0.05 }
},
"outputs": {
"outputT": { "shape": [4096, 768], "dtype": "float32" },
"residualT": { "shape": [4096, 768], "dtype": "float32" }
},
"bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 3 * args.hidden)" }] }
},
{
"name": "skip-layernorm-f32-bias-output-only-4096x768",
"preset": "model",
"provenance": {
"notes": "Ordinary inference shape with bias present and all three optional outputs omitted. It uses six storage buffers and writes only the primary output, isolating the output-only path from the full-output sibling at the same geometry."
},
"vars": { "rows": 4096, "hidden": 768 },
"attrs": { "epsilon": 0.00001 },
"inputs": {
"inputT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 314, "scale": 0.2 },
"skipT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 315, "scale": 0.2 },
"gammaT": { "shape": [768], "dtype": "float32", "dist": "uniform", "seed": 316, "scale": 0.1, "offset": 1 },
"betaT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 317, "scale": 0.1 },
"biasT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 318, "scale": 0.05 }
},
"outputs": { "outputT": { "shape": [4096, 768], "dtype": "float32" } },
"bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (3 * args.rows * args.hidden + 3 * args.hidden)" }] }
},
{
"name": "skip-layernorm-f32-4096x770-hidden770-unaligned",
"preset": "model",
"vars": { "rows": 4096, "hidden": 770 },
"attrs": { "epsilon": 0.00001 },
"inputs": {
"inputT": { "shape": [4096, 770], "dtype": "float32", "dist": "normal", "seed": 413, "scale": 0.2 },
"skipT": { "shape": [4096, 770], "dtype": "float32", "dist": "normal", "seed": 414, "scale": 0.2 },
"gammaT": { "shape": [770], "dtype": "float32", "dist": "uniform", "seed": 415, "scale": 0.1, "offset": 1 },
"betaT": { "shape": [770], "dtype": "float32", "dist": "normal", "seed": 416, "scale": 0.1 }
},
"outputs": {
"outputT": { "shape": [4096, 770], "dtype": "float32" },
"residualT": { "shape": [4096, 770], "dtype": "float32" }
},
"bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 2 * args.hidden)" }] }
},
{
"name": "skip-layernorm-f32-4096x768-hidden768-aligned-sibling",
"preset": "model",
"vars": { "rows": 4096, "hidden": 768 },
"attrs": { "epsilon": 0.00001 },
"inputs": {
"inputT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 413, "scale": 0.2 },
"skipT": { "shape": [4096, 768], "dtype": "float32", "dist": "normal", "seed": 414, "scale": 0.2 },
"gammaT": { "shape": [768], "dtype": "float32", "dist": "uniform", "seed": 415, "scale": 0.1, "offset": 1 },
"betaT": { "shape": [768], "dtype": "float32", "dist": "normal", "seed": 416, "scale": 0.1 }
},
"outputs": {
"outputT": { "shape": [4096, 768], "dtype": "float32" },
"residualT": { "shape": [4096, 768], "dtype": "float32" }
},
"bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 2 * args.hidden)" }] }
},
{
"name": "skip-layernorm-f32-rows1-hidden4096-decode",
"preset": "model",
"vars": { "rows": 1, "hidden": 4096 },
"attrs": { "epsilon": 0.00001 },
"inputs": {
"inputT": { "shape": [1, 4096], "dtype": "float32", "dist": "normal", "seed": 513, "scale": 0.2 },
"skipT": { "shape": [1, 4096], "dtype": "float32", "dist": "normal", "seed": 514, "scale": 0.2 },
"gammaT": { "shape": [4096], "dtype": "float32", "dist": "uniform", "seed": 515, "scale": 0.1, "offset": 1 },
"betaT": { "shape": [4096], "dtype": "float32", "dist": "normal", "seed": 516, "scale": 0.1 }
},
"outputs": {
"outputT": { "shape": [1, 4096], "dtype": "float32" },
"residualT": { "shape": [1, 4096], "dtype": "float32" }
},
"bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 2 * args.hidden)" }] }
},
{
"name": "skip-layernorm-f32-rows4096-hidden4096-prefill-sibling",
"preset": "model",
"vars": { "rows": 4096, "hidden": 4096 },
"attrs": { "epsilon": 0.00001 },
"inputs": {
"inputT": { "shape": [4096, 4096], "dtype": "float32", "dist": "normal", "seed": 513, "scale": 0.2 },
"skipT": { "shape": [4096, 4096], "dtype": "float32", "dist": "normal", "seed": 514, "scale": 0.2 },
"gammaT": { "shape": [4096], "dtype": "float32", "dist": "uniform", "seed": 515, "scale": 0.1, "offset": 1 },
"betaT": { "shape": [4096], "dtype": "float32", "dist": "normal", "seed": 516, "scale": 0.1 }
},
"outputs": {
"outputT": { "shape": [4096, 4096], "dtype": "float32" },
"residualT": { "shape": [4096, 4096], "dtype": "float32" }
},
"bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 2 * args.hidden)" }] }
},
{
"name": "skip-layernorm-f32-4096x4095-hidden4095-unaligned-largewidth",
"preset": "model",
"vars": { "rows": 4096, "hidden": 4095 },
"attrs": { "epsilon": 0.00001 },
"inputs": {
"inputT": { "shape": [4096, 4095], "dtype": "float32", "dist": "normal", "seed": 613, "scale": 0.2 },
"skipT": { "shape": [4096, 4095], "dtype": "float32", "dist": "normal", "seed": 614, "scale": 0.2 },
"gammaT": { "shape": [4095], "dtype": "float32", "dist": "uniform", "seed": 615, "scale": 0.1, "offset": 1 },
"betaT": { "shape": [4095], "dtype": "float32", "dist": "normal", "seed": 616, "scale": 0.1 }
},
"outputs": {
"outputT": { "shape": [4096, 4095], "dtype": "float32" },
"residualT": { "shape": [4096, 4095], "dtype": "float32" }
},
"bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 2 * args.hidden)" }] }
},
{
"name": "skip-layernorm-f32-bias-8192x1025-unaligned-twopass-fallback",
"preset": "stress",
"vars": { "rows": 8192, "hidden": 1025 },
"attrs": { "epsilon": 0.00001 },
"inputs": {
"inputT": { "shape": [8192, 1025], "dtype": "float32", "dist": "normal", "seed": 713, "scale": 0.2 },
"skipT": { "shape": [8192, 1025], "dtype": "float32", "dist": "normal", "seed": 714, "scale": 0.2 },
"gammaT": { "shape": [1025], "dtype": "float32", "dist": "uniform", "seed": 715, "scale": 0.1, "offset": 1 },
"betaT": { "shape": [1025], "dtype": "float32", "dist": "normal", "seed": 716, "scale": 0.1 },
"biasT": { "shape": [1025], "dtype": "float32", "dist": "normal", "seed": 717, "scale": 0.05 }
},
"outputs": {
"outputT": { "shape": [8192, 1025], "dtype": "float32" },
"residualT": { "shape": [8192, 1025], "dtype": "float32" }
},
"bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 3 * args.hidden)" }] }
},
{
"name": "skip-layernorm-f32-bias-65535x1-wg1-lowoccupancy-fallback",
"preset": "edge",
"vars": { "rows": 65535, "hidden": 1 },
"attrs": { "epsilon": 0.00001 },
"inputs": {
"inputT": { "shape": [65535, 1], "dtype": "float32", "dist": "normal", "seed": 813, "scale": 0.2 },
"skipT": { "shape": [65535, 1], "dtype": "float32", "dist": "normal", "seed": 814, "scale": 0.2 },
"gammaT": { "shape": [1], "dtype": "float32", "dist": "uniform", "seed": 815, "scale": 0.1, "offset": 1 },
"betaT": { "shape": [1], "dtype": "float32", "dist": "normal", "seed": 816, "scale": 0.1 },
"biasT": { "shape": [1], "dtype": "float32", "dist": "normal", "seed": 817, "scale": 0.05 }
},
"outputs": {
"outputT": { "shape": [65535, 1], "dtype": "float32" },
"residualT": { "shape": [65535, 1], "dtype": "float32" }
},
"bench": { "metrics": [{ "type": "bandwidth", "value": "4 * (4 * args.rows * args.hidden + 3 * args.hidden)" }] }
}
]
}
|