File size: 14,035 Bytes
746b1e6 8386dfb 746b1e6 | 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 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | {
"op": "com.microsoft.FusedMatMul",
"cases": [
{
"name": "fusedmatmul-f32-attn-scores-transB-8x512x64",
"preset": "model",
"attrs": { "alpha": 0.125, "transB": 1 },
"inputs": {
"A": { "shape": [8, 512, 64], "dtype": "float32", "dist": "normal", "seed": 510, "scale": 0.2 },
"B": { "shape": [8, 512, 64], "dtype": "float32", "dist": "normal", "seed": 511, "scale": 0.2 }
},
"outputs": { "Y": { "shape": [8, 512, 512], "dtype": "float32" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * 8 * 512 * 512 * 64" }] }
},
{
"name": "fusedmatmul-f32-plain-512x2048x512",
"preset": "model",
"attrs": { "alpha": 1 },
"inputs": {
"A": { "shape": [512, 2048], "dtype": "float32", "dist": "normal", "seed": 520, "scale": 0.1 },
"B": { "shape": [2048, 512], "dtype": "float32", "dist": "normal", "seed": 521, "scale": 0.1 }
},
"outputs": { "Y": { "shape": [512, 512], "dtype": "float32" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * 512 * 512 * 2048" }] }
},
{
"name": "fusedmatmul-f16-plain-512x2048x512",
"preset": "model",
"attrs": { "alpha": 1 },
"inputs": {
"A": { "shape": [512, 2048], "dtype": "float16", "dist": "normal", "seed": 530, "scale": 0.1 },
"B": { "shape": [2048, 512], "dtype": "float16", "dist": "normal", "seed": 531, "scale": 0.1 }
},
"outputs": { "Y": { "shape": [512, 512], "dtype": "float16" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * 512 * 512 * 2048" }] }
},
{
"name": "fusedmatmul-f32-unaligned-500x2000x500",
"preset": "model",
"attrs": { "alpha": 1 },
"inputs": {
"A": { "shape": [500, 2000], "dtype": "float32", "dist": "normal", "seed": 540, "scale": 0.1 },
"B": { "shape": [2000, 500], "dtype": "float32", "dist": "normal", "seed": 541, "scale": 0.1 }
},
"outputs": { "Y": { "shape": [500, 500], "dtype": "float32" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * 500 * 500 * 2000" }] }
},
{
"name": "fusedmatmul-f32-unaligned2-384x1536x400",
"preset": "model",
"attrs": { "alpha": 1 },
"inputs": {
"A": { "shape": [384, 1536], "dtype": "float32", "dist": "normal", "seed": 560, "scale": 0.1 },
"B": { "shape": [1536, 400], "dtype": "float32", "dist": "normal", "seed": 561, "scale": 0.1 }
},
"outputs": { "Y": { "shape": [384, 400], "dtype": "float32" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * 384 * 400 * 1536" }] }
},
{
"name": "fusedmatmul-f16-aligned-n512-512x2048x512-healthy",
"preset": "smoke",
"attrs": { "alpha": 1 },
"vars": { "M": 512, "K": 2048, "N": 512 },
"inputs": {
"A": { "shape": [512, 2048], "dtype": "float16", "dist": "normal", "seed": 600, "scale": 0.1 },
"B": { "shape": [2048, 512], "dtype": "float16", "dist": "normal", "seed": 601, "scale": 0.1 }
},
"outputs": { "Y": { "shape": [512, 512], "dtype": "float16" } },
"bench": { "primary": true, "metrics": [{ "type": "gflops", "value": "2 * 512 * 512 * 2048" }] }
},
{
"name": "fusedmatmul-f16-unaligned-n500-512x2048x500-cliff",
"preset": "smoke",
"attrs": { "alpha": 1 },
"vars": { "M": 512, "K": 2048, "N": 500 },
"inputs": {
"A": { "shape": [512, 2048], "dtype": "float16", "dist": "normal", "seed": 602, "scale": 0.1 },
"B": { "shape": [2048, 500], "dtype": "float16", "dist": "normal", "seed": 603, "scale": 0.1 }
},
"outputs": { "Y": { "shape": [512, 500], "dtype": "float16" } },
"bench": { "primary": true, "metrics": [{ "type": "gflops", "value": "2 * 512 * 500 * 2048" }] }
},
{
"name": "fusedmatmul-f16-unaligned-k2050-512x2050x512-cliff",
"preset": "smoke",
"attrs": { "alpha": 1 },
"vars": { "M": 512, "K": 2050, "N": 512 },
"inputs": {
"A": { "shape": [512, 2050], "dtype": "float16", "dist": "normal", "seed": 604, "scale": 0.1 },
"B": { "shape": [2050, 512], "dtype": "float16", "dist": "normal", "seed": 605, "scale": 0.1 }
},
"outputs": { "Y": { "shape": [512, 512], "dtype": "float16" } },
"bench": { "primary": true, "metrics": [{ "type": "gflops", "value": "2 * 512 * 512 * 2050" }] }
},
{
"name": "fusedmatmul-f16-decode-gemv-m1-1x2048x512",
"preset": "smoke",
"attrs": { "alpha": 1 },
"vars": { "M": 1, "K": 2048, "N": 512 },
"inputs": {
"A": { "shape": [1, 2048], "dtype": "float16", "dist": "normal", "seed": 606, "scale": 0.1 },
"B": { "shape": [2048, 512], "dtype": "float16", "dist": "normal", "seed": 607, "scale": 0.1 }
},
"outputs": { "Y": { "shape": [1, 512], "dtype": "float16" } },
"bench": { "primary": true, "metrics": [{ "type": "gflops", "value": "2 * 1 * 512 * 2048" }] }
},
{
"name": "fusedmatmul-f16-attn-scores-transB-8x512x64",
"preset": "smoke",
"attrs": { "alpha": 0.125, "transB": 1 },
"vars": { "M": 512, "K": 64, "N": 512 },
"inputs": {
"A": { "shape": [8, 512, 64], "dtype": "float16", "dist": "normal", "seed": 608, "scale": 0.2 },
"B": { "shape": [8, 512, 64], "dtype": "float16", "dist": "normal", "seed": 609, "scale": 0.2 }
},
"outputs": { "Y": { "shape": [8, 512, 512], "dtype": "float16" } },
"bench": { "primary": true, "metrics": [{ "type": "gflops", "value": "2 * 8 * 512 * 512 * 64" }] }
},
{
"name": "fusedmatmul-f16-broadcast-batch-rank4x3-2x8x512x64-tiled",
"preset": "smoke",
"attrs": { "alpha": 0.125, "transB": 1 },
"vars": { "M": 512, "K": 64, "N": 512 },
"inputs": {
"A": { "shape": [2, 8, 512, 64], "dtype": "float16", "dist": "normal", "seed": 610, "scale": 0.2 },
"B": { "shape": [8, 512, 64], "dtype": "float16", "dist": "normal", "seed": 611, "scale": 0.2 }
},
"outputs": { "Y": { "shape": [2, 8, 512, 512], "dtype": "float16" } },
"bench": { "primary": true, "metrics": [{ "type": "gflops", "value": "2 * 2 * 8 * 512 * 512 * 64" }] }
},
{
"name": "fusedmatmul-f32-decode-gemv-m1-k4096-n4096-pathology",
"preset": "stress",
"attrs": { "alpha": 1 },
"vars": { "dtype": "float32", "M": 1, "K": 4096, "N": 4096 },
"inputs": {
"A": { "shape": [1, 4096], "dtype": "float32", "dist": "normal", "seed": 740, "scale": 0.1 },
"B": { "shape": [4096, 4096], "dtype": "float32", "dist": "normal", "seed": 741, "scale": 0.05 }
},
"outputs": { "Y": { "shape": [1, 4096], "dtype": "float32", "dist": "empty" } },
"bench": {
"primary": true,
"metrics": [
{
"type": "bandwidth",
"value": "(args.M * args.K + args.K * args.N + args.M * args.N) * dtypeBytes(args.dtype)"
}
]
}
},
{
"name": "fusedmatmul-f32-rank4-by-rank2-shared-weight-b2h8-m128-k64-n128-pathology",
"preset": "stress",
"attrs": { "alpha": 1 },
"vars": { "dtype": "float32", "M": 128, "K": 64, "N": 128 },
"inputs": {
"A": { "shape": [2, 8, 128, 64], "dtype": "float32", "dist": "normal", "seed": 742, "scale": 0.2 },
"B": { "shape": [64, 128], "dtype": "float32", "dist": "normal", "seed": 743, "scale": 0.2 }
},
"outputs": { "Y": { "shape": [2, 8, 128, 128], "dtype": "float32", "dist": "empty" } },
"bench": { "primary": true, "metrics": [{ "type": "gflops", "value": "2 * numel(shapes.Y) * args.K" }] }
},
{
"name": "fusedmatmul-f16-rank4-by-rank2-shared-weight-b2h8-m512-k2048-n512-pathology",
"preset": "stress",
"provenance": {
"notes": "Production-scale batched projection with a shared rank-2 weight. This common numpy.matmul broadcast shape is excluded from the subgroup-matrix rank combinations and locks the register-blocked portable fallback that replaced the lower-throughput generic tiled kernel."
},
"attrs": { "alpha": 1 },
"vars": { "dtype": "float16", "M": 512, "K": 2048, "N": 512 },
"inputs": {
"A": { "shape": [2, 8, 512, 2048], "dtype": "float16", "dist": "normal", "seed": 744, "scale": 0.05 },
"B": { "shape": [2048, 512], "dtype": "float16", "dist": "normal", "seed": 745, "scale": 0.05 }
},
"outputs": { "Y": { "shape": [2, 8, 512, 512], "dtype": "float16", "dist": "empty" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * numel(shapes.Y) * args.K" }] }
},
{
"name": "fusedmatmul-f16-transbatch-a-forces-tiled-8x512x2048x512-stress",
"preset": "stress",
"attrs": { "alpha": 1, "transBatchA": 1 },
"vars": { "batch": 8, "M": 512, "K": 2048, "N": 512 },
"inputs": {
"A": { "shape": [512, 8, 2048], "dtype": "float16", "dist": "normal", "seed": 720, "scale": 0.05 },
"B": { "shape": [8, 2048, 512], "dtype": "float16", "dist": "normal", "seed": 721, "scale": 0.05 }
},
"outputs": { "Y": { "shape": [8, 512, 512], "dtype": "float16", "dist": "empty" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * 8 * 512 * 512 * 2048" }] }
},
{
"name": "fusedmatmul-f16-transbatch-b-8x512x2048x512-pathology",
"preset": "stress",
"provenance": {
"notes": "The operator's valid transBatchB semantic at a production projection size. No subgroup-matrix or specialized trans-batch-B variant accepts this layout, so it selects the lower-throughput generic tiled kernel."
},
"attrs": { "alpha": 1, "transBatchB": 1 },
"vars": { "batch": 8, "M": 512, "K": 2048, "N": 512 },
"inputs": {
"A": { "shape": [8, 512, 2048], "dtype": "float16", "dist": "normal", "seed": 722, "scale": 0.05 },
"B": { "shape": [2048, 8, 512], "dtype": "float16", "dist": "normal", "seed": 723, "scale": 0.05 }
},
"outputs": { "Y": { "shape": [8, 512, 512], "dtype": "float16", "dist": "empty" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * 8 * 512 * 512 * 2048" }] }
},
{
"name": "fusedmatmul-f16-broadcast-batch-forces-tiled-1x8x512x2048x512-stress",
"preset": "stress",
"attrs": { "alpha": 1 },
"inputs": {
"A": { "shape": [1, 8, 512, 2048], "dtype": "float16", "dist": "normal", "seed": 730, "scale": 0.05 },
"B": { "shape": [8, 2048, 512], "dtype": "float16", "dist": "normal", "seed": 731, "scale": 0.05 }
},
"outputs": { "Y": { "shape": [1, 8, 512, 512], "dtype": "float16", "dist": "empty" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * 8 * 512 * 512 * 2048" }] }
},
{
"name": "fusedmatmul-f16-band-m8-k2560-n4096",
"preset": "model",
"attrs": { "alpha": 0.5 },
"inputs": {
"A": { "shape": [8, 2560], "dtype": "float16", "dist": "normal", "seed": 750, "scale": 0.1 },
"B": { "shape": [2560, 4096], "dtype": "float16", "dist": "normal", "seed": 751, "scale": 0.1 }
},
"outputs": { "Y": { "shape": [8, 4096], "dtype": "float16", "dist": "empty" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * 8 * 2560 * 4096" }] }
},
{
"name": "fusedmatmul-f16-band-m16-k2560-n4096",
"preset": "model",
"attrs": { "alpha": 0.5 },
"inputs": {
"A": { "shape": [16, 2560], "dtype": "float16", "dist": "normal", "seed": 752, "scale": 0.1 },
"B": { "shape": [2560, 4096], "dtype": "float16", "dist": "normal", "seed": 753, "scale": 0.1 }
},
"outputs": { "Y": { "shape": [16, 4096], "dtype": "float16", "dist": "empty" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * 16 * 2560 * 4096" }] }
},
{
"name": "fusedmatmul-f16-band-m32-k2560-n4096",
"preset": "model",
"attrs": { "alpha": 0.5 },
"inputs": {
"A": { "shape": [32, 2560], "dtype": "float16", "dist": "normal", "seed": 754, "scale": 0.1 },
"B": { "shape": [2560, 4096], "dtype": "float16", "dist": "normal", "seed": 755, "scale": 0.1 }
},
"outputs": { "Y": { "shape": [32, 4096], "dtype": "float16", "dist": "empty" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * 32 * 2560 * 4096" }] }
},
{
"name": "fusedmatmul-f32-band-m16-k2560-n4096",
"preset": "model",
"attrs": { "alpha": 0.5 },
"inputs": {
"A": { "shape": [16, 2560], "dtype": "float32", "dist": "normal", "seed": 756, "scale": 0.1 },
"B": { "shape": [2560, 4096], "dtype": "float32", "dist": "normal", "seed": 757, "scale": 0.1 }
},
"outputs": { "Y": { "shape": [16, 4096], "dtype": "float32", "dist": "empty" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * 16 * 2560 * 4096" }] }
},
{
"name": "fusedmatmul-f16-narrow-m16-k8192-n256",
"preset": "model",
"attrs": { "alpha": 1 },
"inputs": {
"A": { "shape": [16, 8192], "dtype": "float16", "dist": "normal", "seed": 758, "scale": 0.1 },
"B": { "shape": [8192, 256], "dtype": "float16", "dist": "normal", "seed": 759, "scale": 0.1 }
},
"outputs": { "Y": { "shape": [16, 256], "dtype": "float16", "dist": "empty" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * 16 * 8192 * 256" }] }
},
{
"name": "fusedmatmul-f16-specdec-scores-transB-8xm4-k64-n512",
"preset": "model",
"attrs": { "alpha": 0.125, "transB": 1 },
"inputs": {
"A": { "shape": [8, 4, 64], "dtype": "float16", "dist": "normal", "seed": 760, "scale": 0.1 },
"B": { "shape": [8, 512, 64], "dtype": "float16", "dist": "normal", "seed": 761, "scale": 0.1 }
},
"outputs": { "Y": { "shape": [8, 4, 512], "dtype": "float16", "dist": "empty" } },
"bench": { "metrics": [{ "type": "gflops", "value": "2 * 8 * 4 * 64 * 512" }] }
}
]
}
|