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)" }] }
    }
  ]
}