File size: 4,382 Bytes
f00338a
 
 
 
 
 
 
 
828fdc4
f00338a
 
 
 
 
 
 
 
 
 
 
 
828fdc4
f00338a
 
 
 
 
 
 
 
 
 
 
 
 
828fdc4
f00338a
 
 
c468e03
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f00338a
 
 
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
{
  "cases": [
    {
      "name": "axis1",
      "preset": "smoke",
      "attrs": { "axis": 1 },
      "inputs": {
        "data": { "dtype": "float32", "shape": [1024, 768] },
        "indices": { "dtype": "int32", "shape": [1024, 128], "min": 0, "max": 768 }
      },
      "outputs": { "output": { "dtype": "float32", "shape": [1024, 128] } },
      "bench": {
        "metrics": [{ "type": "bandwidth", "value": "(numel(shapes.output) * 2 + numel(shapes.indices)) * 4" }]
      }
    },
    {
      "name": "axis0_dispatch_cliff_17M_f32",
      "attrs": { "axis": 0 },
      "vars": { "dtype": "float32", "count": 17301504 },
      "inputs": {
        "data": { "dtype": "float32", "shape": [16, 524288] },
        "indices": { "dtype": "int32", "shape": [33, 524288], "min": 0, "max": 16 }
      },
      "outputs": { "output": { "dtype": "float32", "shape": [33, 524288] } },
      "bench": {
        "primary": true,
        "metrics": [{ "type": "bandwidth", "value": "args.count * (dtypeBytes(args.dtype) * 2 + 4)" }]
      }
    },
    {
      "name": "axis1_f16",
      "attrs": { "axis": 1 },
      "vars": { "dtype": "float16", "count": 131072 },
      "inputs": {
        "data": { "dtype": "float16", "shape": [1024, 768] },
        "indices": { "dtype": "int32", "shape": [1024, 128], "min": 0, "max": 768 }
      },
      "outputs": { "output": { "dtype": "float16", "shape": [1024, 128] } },
      "bench": { "metrics": [{ "type": "bandwidth", "value": "args.count * (dtypeBytes(args.dtype) * 2 + 4)" }] }
    },
    {
      "name": "gather-elements-axis1-f32-4096x1023-unaligned-pathology",
      "preset": "edge",
      "provenance": {
        "notes": "Rank-2 axis-1 gather whose width is 3 mod 4: the rank-2 vec4 route needs an output width divisible by four, so the generic kernel is the selected route with a full coordinate divide and modulo per element. Same index locality as its 1024-wide control."
      },
      "attrs": { "axis": 1 },
      "vars": { "dtype": "float32", "count": 4190208 },
      "inputs": {
        "data": { "dtype": "float32", "shape": [4096, 1023], "dist": "normal", "seed": 160, "scale": 0.2 },
        "indices": { "dtype": "int32", "shape": [4096, 1023], "dist": "linearMod", "seed": 160, "step": 7, "mod": 1023 }
      },
      "outputs": { "output": { "dtype": "float32", "shape": [4096, 1023] } },
      "bench": { "metrics": [{ "type": "bandwidth", "value": "args.count * (dtypeBytes(args.dtype) * 2 + 4)" }] }
    },
    {
      "name": "gather-elements-axis1-f32-4096x1024-aligned-control",
      "preset": "edge",
      "provenance": {
        "notes": "Aligned control for the 1023- and 1025-wide gathers: a width divisible by four takes the rank-2 vec4 route, four vec4 groups per lane at this element count."
      },
      "attrs": { "axis": 1 },
      "vars": { "dtype": "float32", "count": 4194304 },
      "inputs": {
        "data": { "dtype": "float32", "shape": [4096, 1024], "dist": "normal", "seed": 161, "scale": 0.2 },
        "indices": { "dtype": "int32", "shape": [4096, 1024], "dist": "linearMod", "seed": 161, "step": 7, "mod": 1024 }
      },
      "outputs": { "output": { "dtype": "float32", "shape": [4096, 1024] } },
      "bench": { "metrics": [{ "type": "bandwidth", "value": "args.count * (dtypeBytes(args.dtype) * 2 + 4)" }] }
    },
    {
      "name": "gather-elements-rank3-last-axis-f32-8x512x1024",
      "preset": "edge",
      "attrs": { "axis": -1 },
      "inputs": {
        "data": { "dtype": "float32", "shape": [8, 512, 1024] },
        "indices": { "dtype": "int32", "shape": [8, 512, 256], "min": 0, "max": 1024 }
      },
      "outputs": { "output": { "dtype": "float32", "shape": [8, 512, 256] } },
      "bench": {
        "metrics": [{ "type": "bandwidth", "value": "(numel(shapes.output) * 2 + numel(shapes.indices)) * 4" }]
      }
    },
    {
      "name": "gather-elements-rank2-folded-f32-4096x1024-control",
      "preset": "edge",
      "attrs": { "axis": 1 },
      "inputs": {
        "data": { "dtype": "float32", "shape": [4096, 1024] },
        "indices": { "dtype": "int32", "shape": [4096, 256], "min": 0, "max": 1024 }
      },
      "outputs": { "output": { "dtype": "float32", "shape": [4096, 256] } },
      "bench": {
        "metrics": [{ "type": "bandwidth", "value": "(numel(shapes.output) * 2 + numel(shapes.indices)) * 4" }]
      }
    }
  ]
}