File size: 3,640 Bytes
9663d5f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
959e638
 
 
 
 
 
 
 
 
 
 
 
 
 
9663d5f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
{
  "tunableSpace": { "WORKGROUP_SIZE": [64, 128, 256] },
  "cases": [
    {
      "name": "add-f32-4m",
      "preset": "smoke",
      "vars": { "dtype": "float32", "count": 4194304 },
      "inputs": {
        "a": { "shape": [4194304], "dtype": "float32", "dist": "normal", "seed": 102, "scale": 2 },
        "b": { "shape": [4194304], "dtype": "float32", "dist": "normal", "seed": 103, "scale": 2 }
      },
      "outputs": { "c": { "shape": [4194304], "dtype": "float32" } },
      "bench": {
        "primary": true,
        "metrics": [{ "type": "bandwidth", "value": "args.count * dtypeBytes(args.dtype) * 3" }]
      }
    },
    {
      "name": "add-f32-8m-dram-bound",
      "preset": "stress",
      "vars": { "dtype": "float32", "count": 8388608 },
      "inputs": {
        "a": { "shape": [8388608], "dtype": "float32", "dist": "normal", "seed": 102, "scale": 2 },
        "b": { "shape": [8388608], "dtype": "float32", "dist": "normal", "seed": 103, "scale": 2 }
      },
      "outputs": { "c": { "shape": [8388608], "dtype": "float32" } },
      "bench": { "metrics": [{ "type": "bandwidth", "value": "args.count * dtypeBytes(args.dtype) * 3" }] },
      "provenance": {
        "notes": "A 32 MB output lies beyond the 16 MB threshold where the vec4 kernel changes from four groups per lane to one, exercising the large-output DRAM-bound configuration."
      }
    },
    {
      "name": "add-f32-biasadd-2048x2048",
      "preset": "model",
      "vars": { "dtype": "float32" },
      "inputs": {
        "a": { "shape": [2048, 2048], "dtype": "float32", "dist": "normal", "seed": 202, "scale": 2 },
        "b": { "shape": [2048], "dtype": "float32", "dist": "normal", "seed": 203, "scale": 2 }
      },
      "outputs": { "c": { "shape": [2048, 2048], "dtype": "float32" } },
      "bench": { "metrics": [{ "type": "bandwidth", "value": "2048 * 2048 * 2 * dtypeBytes(args.dtype)" }] }
    },
    {
      "name": "add-f32-channelscale-1x1024x64x64",
      "preset": "model",
      "vars": { "dtype": "float32" },
      "inputs": {
        "a": { "shape": [1, 1024, 64, 64], "dtype": "float32", "dist": "normal", "seed": 302, "scale": 2 },
        "b": { "shape": [1, 1024, 1, 1], "dtype": "float32", "dist": "normal", "seed": 303, "scale": 2 }
      },
      "outputs": { "c": { "shape": [1, 1024, 64, 64], "dtype": "float32" } },
      "bench": { "metrics": [{ "type": "bandwidth", "value": "1024 * 64 * 64 * 2 * dtypeBytes(args.dtype)" }] }
    },
    {
      "name": "add-f32-broadcast-scalar-fallback-4m",
      "preset": "stress",
      "vars": { "dtype": "float32", "count": 4190208 },
      "inputs": {
        "a": { "shape": [4096, 1023], "dtype": "float32", "dist": "normal", "seed": 142, "scale": 2 },
        "b": { "shape": [1, 1023], "dtype": "float32", "dist": "normal", "seed": 143, "scale": 2 }
      },
      "outputs": { "c": { "shape": [4096, 1023], "dtype": "float32", "dist": "empty" } },
      "bench": { "metrics": [{ "type": "bandwidth", "value": "args.count * dtypeBytes(args.dtype) * 2" }] }
    },
    {
      "name": "add-f32-odd-numel-same-shape-4m",
      "preset": "smoke",
      "vars": { "dtype": "float32", "count": 4194303 },
      "inputs": {
        "a": { "shape": [4194303], "dtype": "float32", "dist": "normal", "seed": 102, "scale": 2 },
        "b": { "shape": [4194303], "dtype": "float32", "dist": "normal", "seed": 103, "scale": 2 }
      },
      "outputs": { "c": { "shape": [4194303], "dtype": "float32" } },
      "bench": {
        "primary": true,
        "metrics": [{ "type": "bandwidth", "value": "args.count * dtypeBytes(args.dtype) * 3" }]
      }
    }
  ]
}