File size: 7,829 Bytes
fcc4309
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28230ca
 
fcc4309
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28230ca
 
 
 
 
 
 
 
 
fcc4309
 
 
 
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
{
  "cases": [
    {
      "name": "nchw_8_32_64_64_k3",
      "preset": "smoke",
      "attrs": { "p": 2, "kernel_shape": [3, 3], "strides": [2, 2] },
      "inputs": { "x": { "dtype": "float32", "shape": [8, 32, 64, 64] } },
      "outputs": { "y": { "dtype": "float32", "shape": [8, 32, 31, 31] } }
    },
    {
      "name": "nchw_8x64x112x112_k2s2_p2_unrolled",
      "preset": "smoke",
      "vars": { "batch": 8, "channels": 64, "inH": 112, "inW": 112 },
      "attrs": { "p": 2, "kernel_shape": [2, 2], "strides": [2, 2] },
      "inputs": { "x": { "dtype": "float32", "shape": [8, 64, 112, 112], "dist": "normal", "seed": 206 } },
      "outputs": { "y": { "dtype": "float32", "shape": [8, 64, 56, 56], "dist": "empty" } },
      "bench": {
        "primary": true,
        "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.inH * args.inW * 4" }]
      }
    },
    {
      "name": "nchw_f16_8x64x112x112_k2s2_p2_unrolled",
      "preset": "smoke",
      "vars": { "batch": 8, "channels": 64, "inH": 112, "inW": 112 },
      "attrs": { "p": 2, "kernel_shape": [2, 2], "strides": [2, 2] },
      "inputs": { "x": { "dtype": "float16", "shape": [8, 64, 112, 112], "dist": "normal", "seed": 207 } },
      "outputs": { "y": { "dtype": "float16", "shape": [8, 64, 56, 56], "dist": "empty" } },
      "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.inH * args.inW * 2" }] }
    },
    {
      "name": "nchw_f16_8x64x112x110_k2s2_p2_unaligned_width",
      "preset": "smoke",
      "vars": { "batch": 8, "channels": 64, "inH": 112, "inW": 110 },
      "attrs": { "p": 2, "kernel_shape": [2, 2], "strides": [2, 2] },
      "inputs": { "x": { "dtype": "float16", "shape": [8, 64, 112, 110], "dist": "normal", "seed": 311 } },
      "outputs": { "y": { "dtype": "float16", "shape": [8, 64, 56, 55], "dist": "empty" } },
      "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.inH * args.inW * 2" }] }
    },
    {
      "name": "nchw_f16_8x64x113x112_k2s2_p2_unaligned_height",
      "preset": "smoke",
      "vars": { "batch": 8, "channels": 64, "inH": 113, "inW": 112 },
      "attrs": { "p": 2, "kernel_shape": [2, 2], "strides": [2, 2] },
      "inputs": { "x": { "dtype": "float16", "shape": [8, 64, 113, 112], "dist": "normal", "seed": 312 } },
      "outputs": { "y": { "dtype": "float16", "shape": [8, 64, 56, 56], "dist": "empty" } },
      "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.inH * args.inW * 2" }] }
    },
    {
      "name": "ncl1d_f32_8x256x4000_k4s2_p2_seqpool",
      "preset": "smoke",
      "vars": { "batch": 8, "channels": 256, "inW": 4000 },
      "attrs": { "p": 2, "kernel_shape": [4], "strides": [2] },
      "inputs": { "x": { "dtype": "float32", "shape": [8, 256, 4000], "dist": "normal", "seed": 313 } },
      "outputs": { "y": { "dtype": "float32", "shape": [8, 256, 1999], "dist": "empty" } },
      "bench": {
        "metrics": [{ "type": "bandwidth", "value": "(args.batch * args.channels * args.inW + numel(shapes.y)) * 4" }]
      }
    },
    {
      "name": "ncdhw3d_f32_2x16x16x16x16_k2s2_p2_volumetric",
      "preset": "smoke",
      "vars": { "batch": 2, "channels": 16, "inD": 16, "inH": 16, "inW": 16 },
      "attrs": { "p": 2, "kernel_shape": [2, 2, 2], "strides": [2, 2, 2] },
      "inputs": { "x": { "dtype": "float32", "shape": [2, 16, 16, 16, 16], "dist": "normal", "seed": 314 } },
      "outputs": { "y": { "dtype": "float32", "shape": [2, 16, 8, 8, 8], "dist": "empty" } },
      "bench": {
        "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.inD * args.inH * args.inW * 4" }]
      }
    },
    {
      "name": "nchw2d_fallback_bigkernel_lowocc_p2_128x128window",
      "preset": "stress",
      "vars": { "batch": 1, "channels": 64, "inH": 128, "inW": 128 },
      "attrs": { "p": 2, "kernel_shape": [128, 128] },
      "inputs": { "x": { "dtype": "float32", "shape": [1, 64, 128, 128], "dist": "normal", "seed": 741, "scale": 2 } },
      "outputs": { "y": { "dtype": "float32", "shape": [1, 64, 1, 1], "dist": "empty" } },
      "bench": {
        "primary": true,
        "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.inH * args.inW * 4" }]
      }
    },
    {
      "name": "nchw2d_fallback_bigkernel_p3_pow_transcendental_96x96window",
      "preset": "stress",
      "vars": { "batch": 1, "channels": 32, "inH": 96, "inW": 96 },
      "attrs": { "p": 3, "kernel_shape": [96, 96] },
      "inputs": { "x": { "dtype": "float32", "shape": [1, 32, 96, 96], "dist": "normal", "seed": 742, "scale": 2 } },
      "outputs": { "y": { "dtype": "float32", "shape": [1, 32, 1, 1], "dist": "empty" } },
      "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.inH * args.inW * 4" }] }
    },
    {
      "name": "ncl1d_bigkernel_lowocc_p2_seqglobalpool",
      "preset": "stress",
      "vars": { "batch": 1, "channels": 64, "inW": 16384 },
      "attrs": { "p": 2, "kernel_shape": [16384] },
      "inputs": { "x": { "dtype": "float32", "shape": [1, 64, 16384], "dist": "normal", "seed": 743, "scale": 2 } },
      "outputs": { "y": { "dtype": "float32", "shape": [1, 64, 1], "dist": "empty" } },
      "bench": { "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.inW * 4" }] }
    },
    {
      "name": "global-lppool-p2-rank5-serial-reduction-pathology",
      "preset": "stress",
      "provenance": {
        "source": "synthetic benchmark",
        "notes": "A realistic rank-5 global L2 pool measures the parallel global-window reduction across feature tiers."
      },
      "vars": { "batch": 1, "channels": 32, "inD": 32, "inH": 64, "inW": 64 },
      "attrs": { "p": 2, "kernel_shape": [32, 64, 64] },
      "inputs": {
        "x": { "dtype": "float32", "shape": [1, 32, 32, 64, 64], "dist": "normal", "seed": 5103, "scale": 0.2 }
      },
      "outputs": { "y": { "dtype": "float32", "shape": [1, 32, 1, 1, 1], "dist": "empty" } },
      "bench": {
        "metrics": [{ "type": "bandwidth", "value": "args.batch * args.channels * args.inD * args.inH * args.inW * 4" }]
      }
    },
    {
      "name": "nchw_f32_1x64x224x224_k7s2p3_generic_bigwindow",
      "preset": "stress",
      "attrs": { "p": 2, "kernel_shape": [7, 7], "strides": [2, 2], "pads": [3, 3, 3, 3] },
      "inputs": { "x": { "dtype": "float32", "shape": [1, 64, 224, 224], "dist": "normal", "seed": 401, "scale": 2 } },
      "outputs": { "y": { "dtype": "float32", "shape": [1, 64, 112, 112], "dist": "empty" } },
      "bench": { "metrics": [{ "type": "bandwidth", "value": "numel(shapes.x) * 4" }] }
    },
    {
      "name": "nchw_f32_1x64x224x224_k6s2pad2_separable_breakeven",
      "preset": "stress",
      "attrs": { "p": 2, "kernel_shape": [6, 6], "strides": [2, 2], "pads": [2, 2, 2, 2] },
      "inputs": { "x": { "dtype": "float32", "shape": [1, 64, 224, 224], "dist": "normal", "seed": 409, "scale": 2 } },
      "outputs": { "y": { "dtype": "float32", "shape": [1, 64, 112, 112], "dist": "empty" } },
      "bench": { "metrics": [{ "type": "bandwidth", "value": "numel(shapes.x) * 4" }] }
    },
    {
      "name": "lppool-f32-b1c512-20x20-k5s1p2-separable-floor",
      "provenance": {
        "notes": "A 5x5 window contains 25 elements, the minimum window size admitted by the separable route for this operator."
      },
      "attrs": { "p": 2, "kernel_shape": [5, 5], "strides": [1, 1], "pads": [2, 2, 2, 2] },
      "inputs": { "x": { "dtype": "float32", "shape": [1, 512, 20, 20], "dist": "uniform" } },
      "outputs": { "y": { "dtype": "float32", "shape": [1, 512, 20, 20], "dist": "empty" } }
    }
  ],
  "tunableSpace": { "WORKGROUP_SIZE": [64, 128, 256] }
}